我在JavaScript中定义了这个函数,我在firefox和chrome中收到类似'myobj is undefined'
的错误。如何定义函数参数?我哪里做错了 ?我甚至没有打电话给我,我想知道为什么我会收到错误。 JsLint没有显示任何错误。
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;
}
答案 0 :(得分:1)
当您致电makeBox
时,您必须为其提供一个对象作为其参数:
var anObject = { fullname: 'Someone with a name' }
makeBox(anObject);
否则,您的函数中的myobj
将为undefined
。
答案 1 :(得分:0)
如果定义了“templates”并且您将参数“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"
});