2013-03-14 71 views

回答

5

你的對象是這樣的,我的評論說:

var obj = { 
    "one": { 
    "two": { 
     "three": { 
     "four": { 
      "five": { 
      "value": 0 
      } 
      /* MISSING "value": 0 */ 
     }, 
     "value": 0 
     }, 
     "value": 0 
    }, 
    "value": 0 
    }, 
    "value": 0 
}; 

};

"four"鍵上的對象沒有"value"鍵,但是,顯然JavaScript引擎必須做額外的工作來處理這種情況:錯過對象的鍵查找,錯過在對象的原型Object上查找關鍵字,返回undefined,然後在將1添加到undefined時計算NaN

1

問題是obj.one.two.three.four沒有value屬性。在這種情況下,JavaScript會遍歷原型鏈,尋找缺失的屬性,然後再將NaN指定爲sum

相關問題