2011-03-06 35 views
3

我創建了一個哈希作爲一個選項對象傳遞給一個jQuery插件。正如插件所定義的,我需要使用的其中一個密鑰是next爲什麼我的「下一個」屬性在Firefox 3.6的JavaScript哈希中消失

這在Safari中正常工作(所以我假設一般是Webkit),但在Firefox中它已被刪除,或者被忽略或者其他東西......它只是不存在。例如:

var opts = { 
    "next": "some selector string", 
    "prev": "some other selector string", 
    "anotherOption": 1 
}; 

console.log(opts); 

輸出繼電器:

anotherOption  1 
prev    "some other selector string" 

它的駕駛我瘋了。更重要的是,有大量的插件和一些在某些選項散列中使用這個鍵名的東西,我從未注意過這種行爲。任何人都可以告訴我這裏發生了什麼,以及如何解決它? (我試過做opts.next = "something",但它產生相同的結果)。

它也沒有與周圍的代碼問題 - 我已經鍵入示例(減去console.log調用)到我的Firebug控制檯,並獲得相同的結果。

+0

這真的很有趣。我不知道爲什麼它會這樣做。 – icktoofay 2011-03-06 00:23:02

回答

3

未來屬性不打印出來的螢火蟲控制檯,但它確實定義。這可能是Firebug的問題,而不是JS。你的代碼應該仍然有效。

>>> var v = {}; 
undefined 
>>> v.next = 'foo'; 
"foo" 
>>> v.prev = 'bar'; 
"bar" 
>>> v 
Object { prev="bar"} 
>>> v.next 
"foo" 
4

這是一個bug in Firefox

這個錯誤確實會阻止Firebug打印它,但實際的Object應該仍然​​具有正確定義的next屬性。

+0

啊,好的。那麼一方面,這是好的...另一方面,這意味着我有更多的調試我的實際代碼。至少我不會瘋狂,雖然... :-) – prodigitalson 2011-03-06 00:41:49

相關問題