だから、私はjavascriptオブジェクトを持っており、それにプロトタイプを介していくつかのメソッドをアタッチしました。
心配ありません。
ここで、そのオブジェクトをJSONに永続化すると、実際のプロパティ値のみが永続化されます。それは完全に理にかなっています。とにかく、メソッドをどのように永続化しますか?
しかし、JSONオブジェクトを非永続化すると、もちろん、元のオブジェクトと同じようにプロパティ的に見えるオブジェクトになります。このオブジェクトには、メソッドがまったく関連付けられていません。
私はそれが起こる+理由+を理解しています。
私の質問は、この状況を処理するための何らかのパターンがすでにあるのかということです。
私自身は、JS用のClassyクラスと呼ばれる小さなjsライブラリを作成しました。これにより、このようなことができます。
var MyClass = Class.$extend({
__init__ : function() { alert('called'); },
toString() : function() {
return this.value;
})
});
var obj = MyClass.$withData({value: 42});
alert(obj.toString());
これは機能しますが、オブジェクトの深い階層に簡単に適用する方法がわかりません。
編集:私は最初はあまり明確ではありませんでした。Classy(および私が気付いたばかりのjqueryは適切)が特定のオブジェクトにデータを適用してプロトタイプのメソッドにブレンドできることは知っていますが、本当の問題は、オブジェクトのより深い階層に対してそれをどのように行うかです。