JavaScript函数给出的错误说

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; 
} 
+0

是什么调用点样子的? –

+3

你可以显示你调用函数的地方吗? –

+0

它适用于我(它不会说myobj是未定义的)。它说模板是未定义的,但这是因为你没有提供模板应该是。 – 0x499602D2

当你调用makeBox,你必须用一个对象作为参数里面提供:

var anObject = { fullname: 'Someone with a name' } 

makeBox(anObject); 

否则,你的函数中myobjundefined

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