簡體   English   中英

Javascript'未捕獲的TypeError:無法讀取未定義'的屬性'blah'

[英]Javascript 'Uncaught TypeError: Cannot read property 'blah' of undefined '

我正在嘗試測試數組元素是否未定義:

  if(typeof selected[i].facet != 'undefined')
  {
       //do stuff
  }

給我

Javascript 'Uncaught TypeError: Cannot read property 'facet' of undefined '

您必須同時測試數組索引和屬性:

if (selected[i] && selected[i].facet !== undefined) { // ...
if((selected[i]) && (selected[i].facet != undefined))
  {
       //do stuff
  }

您應該正確地執行循環

for (var i = 0, len = selected.length; i < len; ++i) {
    //selected[i] will always be a valid index in the array
}

如果selected[i]是數組中的有效索引,但是無論如何都undefined ,那么在語義上就不需要數組,而需要一個以整數作為鍵的字典。 在這種情況下,您可以使用for( var key in map )遍歷它。 旨在修復錯誤的來源,而不是消除症狀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM