记录的对象更改时,控制台的行为不符合预期

时间:2012-08-06 16:39:00

标签: javascript google-chrome-devtools

  

可能重复:
  Is Chrome's JavaScript console lazy about evaluating arrays?

我不确定这是与JS或Chrome或者console.log有关,还是有兴趣得到答案。

我在Eclipse中编码并使用console.log在Chrome中运行以进行一些调试。我的代码包含在JQuery .ready()方法中。

我定义了一个简单的数组var arr = [1,2,3,4,5];,然后记录数组及其第一个值,它给出了我(正如我所料)输出[1, 2, 3, 4, 5]1

然后我使用arr[0] = 12;更新第一个值,并再次记录相同的数组和第一个值。我的代码现在看起来像这样:

var arr = [1,2,3,4,5];
console.log(arr);
console.log(arr[0]);
arr[0] = 12;
console.log(arr);
console.log(arr[0]);

获得以下输出:

[12, 2, 3, 4, 5]
1
[12, 2, 3, 4, 5]
12

我的问题是,为什么在输入该值之前调用第一个日志时,第一行和第三行都使用更新的第一个值进行记录?

这只是调用log方法的延迟还是还有其他事情在这里?

感谢您的帮助:)

0 个答案:

没有答案