Firefox Web控制台反映了对阵列的未来变化

时间:2013-07-18 15:06:31

标签: javascript firefox

我正在使用Firefox的Web控制台(FF v22)。 使用console.info(),可以反映对数组的未来更改。这是Web控制台的错误吗?或者FF上的JavaScript是否表现得像这样?

例如:

var myArr = [1];
console.info(myArr) // on Firefox [1,2] - NOT EXPECTED
myArr.push(2);
console.info(myArr) // on Firefox [1,2] - EXPECTED
另一方面,IE的行为与预期一致。

var myArr = [1];
console.info(myArr) // on IE: 1
myArr.push(2);
console.info(myArr) // on IE: 1,2

1 个答案:

答案 0 :(得分:2)

这是因为console.info调用是异步的。它可能在完成后的行之前没有完成,当你处理一个通过引用传递的数组时,console.info调用收到了一个指向数组的指针(似乎在创建日志之前已经更新)而不是调用console.info时的值。