在当前的Google Chrome(版本22.0.1229.79,在带有Mountain Lion的iMac上)上,代码如下
var arr = [1, 3, 5];
console.log(arr);
delete arr[1];
console.log(arr);
console.log(arr.pop());
console.log(arr);
Run Code Online (Sandbox Code Playgroud)
将会呈现
[1, undefined × 2]
[1, undefined × 2]
5
[1, undefined × 1]
Run Code Online (Sandbox Code Playgroud)
还有其他情况导致Firefox的行为也相似.它们是Chrome和Firefox上的漏洞 - 但Firefox和Chrome都容易受到类似错误的影响似乎很奇怪 - 或者它是否与数组删除有关console.log
?据说,console.log
不应该在单独的线程上运行.
这是由于排队console.log
处理,因此打印被延迟,并且显示了对象或数组的更高版本:Chrome's JavaScript console是否懒于评估数组?
我的回答有 5 个解决方案,并且JSON.stringify()
是最好的一个。
归档时间: |
|
查看次数: |
368 次 |
最近记录: |