我有下面的代码:
console.log("start");
for(var i = 0; i < array.length; i++){
console.log(i + " = " + array[i]);
}
console.log(array);
console.log("end");
这给了我以下输出:
[16:34:41.171] start
[16:34:41.171] 0 = 0
[16:34:41.172] 1 = 168
[16:34:41.172] 2 = 171
[16:34:41.172] [0, 168, 171, 139]
[16:34:41.172] end
也就是说,在迭代数组时它没有显示第139个元素,但是当输出整个数组时,console.log确实打印了它。为什么?(<-- 这就是问题)
我后来修改了数组,难道console.log延迟到我改变数组之后?请注意,即使调换语句的顺序,并且直接在开头放置console.log(array)
也不会改变结果(仍然有不同的输出)。
我正在使用Firefox 20.0