2011-11-19 17 views
5

我試圖延長localStorage的W /以下...localStorage.prototype是空

localStorage.prototype.setItem2 = function(key,value) { 
    localStorage.setItem(key,value); 
} 

我得到 「localStorage.prototype是空的。」我是否正確地做這件事?謝謝!

回答

8

localStorage是Storage對象的一個​​實例。嘗試Storage.prototype.setItem2Object.getPrototypeOf(localStorage).setItem2

1

您可以直接設置它:

localStorage.setItem2 = function(key, value) { 
    // do something 
} 

或使用Storage.prototype

這樣做之前,請確保你沒有覆蓋任何現有的財產。這是爲了防止瀏覽器將來改進API的覆蓋。

+0

由於localStorage.setItem2正在成爲函數的字符串,而不是函數本身,它在Chrome(版本46.0.2490.80 m)中不起作用。 – Moon

0

LocalStorage and sessionStorage對象實現從Storage接口。

您可以對存儲接口進行原型設計。

Storage.prototype.removeItems = function() { 
    for(item in arguments) { 
    this.removeItem(arguments[item]); 
    } 
};