IE8で無限ループを引き起こす次のループが混乱しています
for (var i in theArray) {
this.theArray.push(theArray[i]);
}
this.theArray
IE8 は無限ループに陥りますが、これはグローバル配列でtheArray
あるのにローカル変数であるため、理由がわかりません。
次のようなものがあれば、無限ループが発生することがわかります。
for (var i in theArray) {
theArray.push(theArray[i]);
}
これは IE8 でのみ発生します。IE8 は変数とスコープを別々に扱いますか?
編集
これが私がオブジェクト内に持っているものです
this.theArray = new Array();
this.selection = function(theArray) {
for (var i in theArray) {
this.theArray.push(theArray[i]);
}
}
編集
グローバル変数を引数として関数に渡していることがわかりました。当たり前!これが IE8 で機能しないのはなぜですか?