2009-06-23 4 views
0

私は、JavaScript hereのオブジェクトをコピーすることに関連した別の質問があることを知っていますが、それらが提供するコードはgreasemonkeyでは動作しません。私は追跡することができた何より、受け入れ答えのためのコードが死ぬ/ラインで停止:Greasemonkeyで動作するJavaScriptオブジェクトのコピー機能は何ですか?

var temp = new obj.constructor();

が悪かったのかを確認する方法はありますか?

オブジェクトのコピーに同じ機能を使用する必要はありませんが、機能するものが必要です。あなたはいくつかの機能を知っていますか?

答えて

0

これは動作するようです:

var a = { 
    yo: 'hello', 
    do: function() {alert(this.yo + ' world');} 
}; 

var cloneStructor = function() {}; 
cloneStructor.prototype = a; 

var b = new cloneStructor(); 
a.yo = 'goodbye'; 
b.yo = 'what\'s up'; 

a.do(); 
b.do(); 
+0

は、これは単なる参照ではなく、真のコピーではないでしょうか? – Geo

+0

私が提供した例は 'new'キーワードを使っていて、動作するようです - aとbは異なるプロパティで終わります。私が見つけた別のアプローチは、JSON.eval(JSON.stringify(cloneMe))を使用しています。それは試みる価値があるかもしれません。それ以外の場合は、すべてのプロパティを手動でループしてものを再構築することができます。 – steamer25

関連する問題