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

trueこれはまたはに戻りnullます。または、さらに単純化することもできます。

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

trueこれはまたはに戻りfalseます。

于 2012-09-20T15:33:59.780 に答える