我注意到,在我的javascript,如果我創建一個空數組,遍歷它作爲一個關聯數組,並打印出的內容,返回結果是什麼樣子,從數組對象功能課本身。這裏是我的代碼:通過空的JavaScript數組循環返回數組對象的功能
var test = new Array();
for(var i in test){
document.write(i + " " + test[i] + "<br>");
}
alert(test.length); // this returns 0
上面的代碼打印如下(我省略了一些輸出,因爲它是一種長)
$family function(){return u; }
$constructor function Array() { [native code] }
pop function pop() { [native code] }
push function push() { [native code] }
reverse function reverse() { [native code] }
shift function shift() { [native code] }
sort function sort() { [native code] }
splice function splice() { [native code] }
unshift function unshift() { [native code] }
concat function concat() { [native code] }
join function join() { [native code] }
slice function slice() { [native code] }
indexOf function indexOf() { [native code] }
etc...
我注意到,如果通過陣列的I循環使用for循環即:
for(var i = 0; i < test.length; i++)
瀏覽器不會打印出任何東西(這是應該發生的事情)
任何人都可以解釋爲什麼我從一個空數組中獲得一堆函數時,我通過其他方式循環?萬一它很重要,我使用mootools v1.3。提前致謝。
'VAR測試= [];'會更好,而不是使用'新的Array()' – ThiefMaster 2011-04-30 22:34:22
以防萬一,什麼瀏覽器做到這一點? – 2011-04-30 22:59:29