JavaScript函数给出的错误说
问题描述:
我在JavaScript中定义了这个函数,并且在Firefox和chrome中出现如'myobj is undefined'
这样的错误。我如何定义函数参数?我哪里做错了 ?我甚至不会打电话给我,我想知道为什么我得到一个错误。 JsLint没有显示任何错误。JavaScript函数给出的错误说
function makeBox (myobj) {
if(myobj.fullname.length > 18) {
myobj.fullname = myobj.fullname.slice(0 ,15);
myobj.fullname = myobj.fullname + '...';
}
var box = templates.box.supplant(myobj);
return box;
}
答
当你调用makeBox
,你必须用一个对象作为参数里面提供:
var anObject = { fullname: 'Someone with a name' }
makeBox(anObject);
否则,你的函数中myobj
将undefined
。
+0
我发现了错误。我从数据库中得到了空值,导致了这样的问题。 – Jaseem
答
此代码是完全有效的提供了“模板”的定义是,你提供参数“MyObj中”作为一个对象:
function makeBox(myobj) {
if (myobj.fullname.length > 18) {
myobj.fullname = myobj.fullname.slice(0, 15);
myobj.fullname = myobj.fullname + '...';
}
var box = templates.box.supplant(myobj);
return box;
}
makeBox({
fullname: "Jason Smith"
});
是什么调用点样子的? –
你可以显示你调用函数的地方吗? –
它适用于我(它不会说myobj是未定义的)。它说模板是未定义的,但这是因为你没有提供模板应该是。 – 0x499602D2