我注意到,在我的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