是否可以創建一個對象容器,其中可以跟蹤更改追蹤變化的Javascript對象封裝
所述對象是一個複雜的嵌套數據對象。 (符合JSON)。
的包裝可以讓你得到該對象,並保存更改,沒有明確闡明什麼變化
是否存在一種設計模式,對於這種封裝
深克隆是不是因爲一個選項我試圖寫一個這樣的包裝來避免這樣做。
只有在沒有其他解決方案時才應考慮序列化的解決方案。
使用的一個例子是
var foo = state.get();
// change state
state.update(); // or state.save();
client.tell(state.recentChange());
一個的jsfiddle片斷可能會有所幫助:http://jsfiddle.net/Raynos/kzKEp/
這似乎是實現內部哈希保持變化的軌跡是最佳的選擇。
[編輯]
爲了澄清這是在服務器上的node.js actaully完成。唯一改變的是解決方案可以針對V8實現。
這應該不是什麼大問題。但是你能否更具體地瞭解showChanges函數的格式?例如,如果一個字符串從「Joe」更改爲「Ann」,您希望如何顯示該字符串?我發現你說foo被改變了1,而不是說foo從10改變爲1(或者foo的起始值是什麼)。 – Zevan 2011-01-07 00:05:02
@Zevan格式不相關。我對如何在內部進行跟蹤更感興趣。任何格式的名稱是x,但現在y是足夠的 – Raynos 2011-01-07 00:12:08
這樣的事情是這樣的:{person:{name:「Joe」,hobby:「Guitar}}基本上是一個嵌套的對象。人名 - >名稱已更改或名稱已更改? – Zevan 2011-01-07 00:30:59