0

我收到错误“无法在线将未定义转换为对象return hasOwnProperty(prop);,我根本无法弄清楚问题出在哪里。如有必要,我可以发布更多代码。

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;
    }
4

1 回答 1

1

hasOwnProperty(prop)不存在 - 您需要使用对象名称对其进行限定。只需将其更改为card.hasOwnProperty(prop).

您可以进一步简化它:

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

这将返回truenull。或者您可以进一步简化:

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

这将返回truefalse

于 2012-09-20T15:33:59.780 回答