これは、オブジェクトのプロパティをオーバーライドしてclone
、参照だけでなくオブジェクトの新しいコピーを作成するために使用している関数です。
Object.prototype.clone = function () {
var newObj = (this instanceof Array) ? [] : {};
for (i in this)
{
if (i == 'clone') continue;
if (this[i] && typeof this[i] == "object") {
newObj[i] = this[i].clone();
} else
newObj[i] = this[i]
}
return newObj;
}
にいくつかのプロパティも追加しましたwindow object
。
編集
実際、私は自分のコードでいくつかのライブラリを使用しています。これらのライブラリなしでこのメソッドを実行すると、正常に動作します。しかし、これらのライブラリでは、このエラーが発生します。クローンの独自の実装を提供している可能性があります。
このメソッドを呼び出すと、Maximum call stack size exceeded
.
ヘルプはありますか?ありがとうございました