0

これは、オブジェクトのプロパティをオーバーライドして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.

ヘルプはありますか?ありがとうございました

4

1 に答える 1