[英]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.