相关疑难解决方法(0)

Chrome的JavaScript控制台是否懒于评估数组?

我将从代码开始:

var s = ["hi"];
console.log(s);
s[0] = "bye";
console.log(s);
Run Code Online (Sandbox Code Playgroud)

简单吧?对此,Firebug说:

["hi"]
["bye"]
Run Code Online (Sandbox Code Playgroud)

很棒,但Chrome的JavaScript控制台(7.0.517.41 beta)说:

["bye"]
["bye"]
Run Code Online (Sandbox Code Playgroud)

我做错了什么,或者Chrome的JavaScript控制台在评估我的阵列方面特别懒惰?

在此输入图像描述

javascript arrays console logging google-chrome

116
推荐指数
4
解决办法
2万
查看次数

console.log(array)显示与迭代数组和显示单个元素不同的数组内容

我有以下代码:

console.log("start");
for(var i = 0; i < array.length; i++){
    console.log(i + " = " + array[i]);
}
console.log(array);
console.log("end");
Run Code Online (Sandbox Code Playgroud)

这给了我以下输出:

[16:34:41.171] start
[16:34:41.171] 0 = 0
[16:34:41.172] 1 = 168
[16:34:41.172] 2 = 171
[16:34:41.172] [0, 168, 171, 139]
[16:34:41.172] end
Run Code Online (Sandbox Code Playgroud)

也就是说,它在迭代数组时不显示139元素,但是console.log在输出整个数组时会打印它.为什么?(< - 问题)

我稍后修改了数组,是不是以某种方式延迟了console.log,直到我更改了数组?注意,改变语句的顺序,consoel.log(array)直接放在开头不会改变结果(仍然是不同的输出).

我使用的是Firefox 20.0

javascript firefox

10
推荐指数
1
解决办法
4万
查看次数

标签 统计

javascript ×2

arrays ×1

console ×1

firefox ×1

google-chrome ×1

logging ×1