簡體   English   中英

IE8 Javascript:“ 2”為空或不是對象

[英]IE8 Javascript: '2' is null or not an object

我在IE8中收到一條荒謬的錯誤消息,告訴我常量'2'為null或不是對象。 代碼行是:

if (! localtree[idx][2]) {

我也嘗試過這樣編碼:

if (localtree[idx][2] == 0) {

數組中該位置的值始終為零(目前)。

IE8如何認為數字2為空? 我很迷惑!

確切的錯誤是:

Message: '2' is null or not an object

有沒有人見過這個?

編輯:這是一個非常令人誤解的錯誤消息。 請參閱下面的答案,了解實際出了什么問題。

這是一個非常令人困惑的錯誤消息。 原來,我正在將一個元素移出數組末尾。 'idx'引用了一個我試圖作為數組引用(不帶[2])的不存在的值。

與其說“ 2”為空,不如說“ localtree [idx]”為空。

根本原因是我在數組的末尾加了逗號,導致數組中有一個額外的空值。 在firefox中,尾部逗號被忽略(例如在perl中),但是在IE中,它們很重要。

常數“ 2”為空或不是對象

 if (! localtree[idx][2]) { 

JavaScript沒有常量,至少現在還沒有。 而且您不是在檢查數字,而是在檢查數組的成員,即:對象localtree[idx]索引號為2的變量(其中idx必須包含一個字符串以引用對象屬性或索引號以引用該對象數組)。

暫無
暫無

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

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