2012-09-20 68 views
0

我收到错误“无法将行中未定义的对象转换为return hasOwnProperty(prop);上的对象,并且我根本找不到问题出在哪里,如有必要,我可以发布更多代码无法将undefined转换为对象

getCardProperty : function (card, prop, def) { 
    if (typeof def === "undefined") { 
     def = null; 
    } 

    // json synckolab object 
    if (card.synckolab) { 
     if (card.hasOwnProperty(prop)) // TODO better check for undefined? 
     { 
      return hasOwnProperty(prop); 
     } 
     return null; 
    } 
+0

我有同样的问题,并知道为什么会发生,但是当我设置正确的HTML代码(表标记和div正确关闭),我不会再有这个错误! – albanx

回答

1

hasOwnProperty(prop)不存在 - 你需要一个对象名限定它只是将其更改为card.hasOwnProperty(prop)

可以进一步简化它:

if (card.synckolab) { 
    return card.hasOwnProperty(prop) || null; 
} 

这将返回truenull。或者,你甚至可以进一步简化:

if (card.synckolab) { 
    return card.hasOwnProperty(prop); 
} 

这将返回truefalse

相关问题