4
存儲(localStorage,sessionStorage)允許使用任意屬性。例如。你可以做的Javascript中的動態屬性getters/setters?
localStorage.foo = 'bar';
代替
localStorage.setItem('foo', 'bar');
我自己的JavaScript對象可以有相同的行爲?當試圖設置屬性時,我想執行一些代碼。
注意:我明顯知道我可以創建setters,但是這對名字我不知道的屬性是無效的。
注意2:一個位spec的檢查後,我發現它並沒有真正保證,這將工作,除非該鍵已經被設定setItem():
存儲對象上支持的命名屬性的名稱是當前存在於與對象關聯的列表中的每個鍵/值對的鍵名稱
我也可以自己實現這種行爲,只要第一組通過一個方法,通過動態確定獲得者/設定者。
還有新的ECMAScript 5 getters和setters,目前正在進入新的瀏覽器。 – 2010-08-16 11:08:07