firefox和chrome中的Javascript奇怪行为

firefox和chrome中的Javascript奇怪行为,javascript,Javascript,我运行,得到了预期的控制台输出: //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

我运行,得到了预期的控制台输出:

//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中测试时,我得到了所需的输出(哇,我从来没有想过我会这么说)

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

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

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


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

清除缓存,我会得到预期的结果。不是真的。。我猜这是一个缓存问题可能是Nope的重复,不要认为这是一个缓存问题。附言:我正在测试FFv19.02和chromev26.0Hmm,很有趣。。你能指出一个详细阐述这一点的链接吗?谢谢@我在评论中把土豆与前面的答案联系起来。除了这是一个经常被观察到的“已知问题”,我现在没有任何谷歌或Mozilla的参考资料。您可以使用我为简单对象提供的解决方案(我还有一个用于大型或循环对象的小库)。