Firefox web控制台反映了未来对数组的更改

Firefox web console reflects future changes to array

本文关键字:数组 未来 web 控制台 Firefox      更新时间:2023-09-26

我使用的是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
这是因为console.info调用是异步的。它可能不会在完成后的第行之前结束,并且当您处理通过引用传递的数组时,console.info调用接收到的是指向该数组的指针(该指针似乎在生成日志之前已经更新),而不是调用console.info时的值。