2013-12-03 3 views
0

Могу ли я это сделать?Как добавить пользовательский метод в класс хранения в Javascript

localStorage.myfunction = function() { ... } 

Если нет, то почему? Есть ли альтернативные методы?

+2

http://stackoverflow.com/questions/ 10514705/why-cant-i-extend-localstorage-on-ie8-javascript –

+0

Что вы имеете в виду @ Ecko123? Это класс? – HICURIN

+0

@ Qantas94Heavy извините, неверная ссылка, исправлена ​​:) –

ответ

1

Я был бы очень осторожен с изменением поведения таких объектов. Обычно лучше предоставить оболочку для localStorage (или использовать store.js или другую библиотеку), чтобы предоставить нужные функции.

В случае, если вы сделать хотите добавить метод или свойство LocalStorage, вы можете сделать это, добавив его в это прототип конструктора:

typeof(localStorage.prototype); // "undefined" 
localStorage.constructor // function Storage() { [native code] } 

Storage.prototype.foo = function() { return 'foo'; } 
// setting a method on the constructor allows each localStorage instance 
// to inherit and use it 
localstorage.foo() // 'foo' 
0

Почему вы хотите сделать что-то подобное? использование:

window.myfunction = function(){ 
    // do stuff here 
}; 

, чтобы сохранить вашу функцию на уровне браузера.

Смежные вопросы