我不确定这是否与 JS 或 Chrome 或 console.log 或什么有关,但有兴趣得到答案。
我在 Eclipse 中编码并在 Chrome 中运行console.log
以进行一些调试。我的代码包含在 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 方法的延迟还是这里发生了其他事情?
谢谢你的帮助 :)