Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google Chrome和Firefox之间的差异_Javascript_Firefox_Google Chrome - Fatal编程技术网

Javascript Google Chrome和Firefox之间的差异

Javascript Google Chrome和Firefox之间的差异,javascript,firefox,google-chrome,Javascript,Firefox,Google Chrome,我在Google Chrome(14.0.835.186)和Firefox(6.0.2)上得到了不同的结果 有人能解释这种差异吗?规范确定的行为是什么 编辑:在Firefox上我看到[0],[0,1]等。在Chrome上我看到[0,1,2,3,4],[0,1,2,3,4]等 我使用的是Mac OS 10.6.8。Firefox在这种情况下在技术上更为正确,因为它在循环中的每个点输出对象的状态,而Chrome显然在循环结束时才输出每个console.log,但我不知道有一个标准规范涵盖控制台主机对

我在Google Chrome(14.0.835.186)和Firefox(6.0.2)上得到了不同的结果

有人能解释这种差异吗?规范确定的行为是什么

编辑:在Firefox上我看到
[0]
[0,1]
等。在Chrome上我看到
[0,1,2,3,4]
[0,1,2,3,4]


我使用的是Mac OS 10.6.8。

Firefox在这种情况下在技术上更为正确,因为它在循环中的每个点输出对象的状态,而Chrome显然在循环结束时才输出每个console.log,但我不知道有一个标准规范涵盖控制台主机对象

请参阅此JSFIDLE:以表明这是唯一具有这种奇怪行为的console.log。

请参阅:

这是一个奇怪的行为或控制台,虽然我不能告诉你为什么


编辑:为了确保清楚,这只是控制台中的一个“错误”,在Chrome中创建阵列的方式没有问题。

您正在记录一个活动对象

尝试下面的代码()并查看差异:

var i, test = [];

for(i=0; i<5; i++) {
    test.push(i);
    console.log( test.toString() ); // notice .toString() addition
}
var i,test=[];

对于(i=0;i为什么否决?我认为你在这里不正确。这是console.log的一个特性,其他函数也不会发生这种情况。看到这个JSFIDLE循环中有一个不同的函数,它按预期工作。是的,我说得太快了。这是一个
console.log
问题,这使得调试更具挑战性。编辑你的回答,然后我会投票。我在我的答案中添加了JSFIDLE。看起来它已被报告为一个bug:要绕过它,可以执行
var a=[];console.log(a.join(',');a[0]=1;console.log(a.join(','));