1

Firefox の Web コンソール (FF v22) を使用しています。console.info() を使用すると、配列に対する将来の変更が反映されます。これは Web コンソールのバグですか? または、FF の JavaScript はこのように動作しますか?

例えば:

var myArr = [1];
console.info(myArr) // on Firefox [1,2] - NOT EXPECTED
myArr.push(2);
console.info(myArr) // on Firefox [1,2] - EXPECTED

一方、IE は期待どおりに動作します。

var myArr = [1];
console.info(myArr) // on IE: 1
myArr.push(2);
console.info(myArr) // on IE: 1,2
4

1 に答える 1

2

これは、console.info呼び出しが非同期であるために発生します。完了した後、行の前に終了しない可能性があり、参照によって渡される配列を扱っているため、console.info呼び出しは、値ではなく配列へのポインター (ログが作成される前に更新されたようです) を受け取りました。時間console.infoが呼ばれました。

于 2013-07-18T15:10:46.837 に答える