克羅克福德寫入在http://javascript.crockford.com/survey.html:
「有兩種方法可以使一個新的數組:
變種myArray的= [];
變種myArray的新=陣列();」對象對象是否可以強制轉換爲數組對象?
所以我通過這兩條線在一些AJAX代碼我讀困惑:
var obj={}; // obj is an Object object (i.e. a hash table)
obj[4] = 'x'; // now obj is suddenly an Array object via an integer key?
在JavaScript中的對象和數組實際上只是同樣的事情,但在關鍵類型上有變體?
換句話說,這是否與在PHP中,我們可以使用要麼一個名稱(字符串)或一個整數的散列鍵?
我已經谷歌搜索這個答案,但似乎無法指出一篇文章,討論這個問題。
想到一種可能性,可能是第一行是語法lint,因爲第二行覆蓋了obj的前一個定義,因爲它會創建一個新的Array對象。
所以看來4強制轉換成在這方面的字符串。謝謝Felix和agreco。 –
即使數組鍵也被轉換爲字符串,因爲屬性名稱(鍵/ ...)始終是一個字符串。 –
這是我第一次成功的Q,我對這個快速而全面的迴應感到驚訝。謝謝所有回答的人。 –