Firefox和Chrome中的Javascript奇怪行为

时间:2013-04-15 19:30:16

标签: javascript

我运行this code in JSBin,然后按预期获得控制台输出:

//matrix C before multiplySeq function call 
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
//matrix C after multiplySeq function call
[[6, 6, 6], [6, 6, 6], [6, 6, 6]]

然而,当我运行相同的代码Firefox和chrome时,我得到:

//matrix C before multiplySeq function call 
[[6, 6, 6], [6, 6, 6], [6, 6, 6]]
//matrix C after multiplySeq function call
[[6, 6, 6], [6, 6, 6], [6, 6, 6]]

我不知道发生了什么,有人可以指出我在这里可能缺少的东西吗?

PS:当我在IE中测试时,我得到了所需的输出(哇,从未想过我会这么说)

1 个答案:

答案 0 :(得分:0)

您在Chrome和Firefox中遇到的问题是,它们不会在您登录时构建显示,而是在您浏览对象时。这就是第一个日志显示最终值的原因。

您可以通过克隆值来获得更相关的结果,例如

 console.log(JSON.parse(JSON.stringify(C2)));

Demonstration

请注意,某些版本的Chrome现在发出一个小的 i ,并警告此现象。