0

このコードを 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 でテストすると、目的の出力が得られます (うわー、そんなことを言うとは思いもしませんでした)。

4

1 に答える 1

0

Chrome と Firefox の問題は、ログを記録するときではなく、オブジェクトを参照するときに表示を構築しないことです。そのため、最初のログに最終的な値が表示されます。

たとえば、値を複製することで、より関連性の高い結果を得ることができます。

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

デモンストレーション

Chrome の一部のバージョンでは、この現象に関する警告とともに小さなiが発行されることに注意してください。

于 2013-04-15T19:32:10.810 に答える