JavaScript函数给出错误说

时间:2011-08-26 16:46:17

标签: javascript debugging

我在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;
}

2 个答案:

答案 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"
});