是javascript或firefox中的console.dir()是异步的吗?

qwe*_*ert 7 javascript console firebug asynchronous dir

一个非常奇怪的问题.

在我的调试中,我发现console.dir(anArray)没有在浏览器的firebug控制台上输出当前值.

例如,

console.dir(anArray)              //line 1
console.log(anArray[0].prop1)     //line 2
code to change the value of anArray[0].prop1  //line 3
Run Code Online (Sandbox Code Playgroud)

anArray是一个javascript/json对象的数组,

在Firbug的控制台中,第1行输出新值,该值在第3行中设置,

和第2行是旧的价值,是我想要的.

唯一的解释是console.dir()是异步的,对吧?!

我的环境:Windows7,Firefox 6.0.2,firebug 1.9.1,javascript lib是DOJO(但我认为与它无关.)

谢谢.

Nic*_*ube 0

简而言之,是的。:)

我过去在 Chrome 上遇到过类似的问题,不理解我的控制台结果,但我运行了一些测试,然后发现它是异步行为。事实上,我最好的选择是它使用内部 setTimeout() 来延迟日志。console.log 在我的情况下似乎也受到影响。