私はクラスを持っています、次のようになります:
function MyClass()
{
this.array1 = [];
this.array2 = [];
this.add_item = function( i_x, i_y, i_item )
{
var pos = { "x" : i_x, "y" : i_y, "data" : i_item };
this.array1.push( pos );
this.array2.push( pos );
}
return this;
}
add_item メソッドの 2 行目 (this.array1.push 行) にブレークポイントを配置すると、array1 と array2 の両方に既に pos アイテムが含まれています。一歩進むと、両方の配列が再び pos アイテムを受け取ります!
ありそうもない答えは、これが Firefox のバグだということです。私は少し前に、メソッドのプロトタイピングを Object で実験しましたが、それが for-each-loops で問題を引き起こす可能性があることを読みました。何が原因でしょうか? 古いコードはまだそこに跳ね回っていますか? 手がかりが必要です。私が持っていたすべての配列とオブジェクトのプロトタイプ コードを削除しました。ファイアフォックスを再起動しました。何も役に立ちません。何か案は?