localStorage.prototype является нулевым - PullRequest
5 голосов
/ 19 ноября 2011

Я пытаюсь расширить localStorage со следующим ...

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

Я получаю "localStorage.prototype имеет значение null". Я делаю это правильно? Спасибо!

Ответы [ 3 ]

8 голосов
/ 19 ноября 2011

localStorage является экземпляром объекта Storage. Попробуйте Storage.prototype.setItem2 или Object.getPrototypeOf(localStorage).setItem2

1 голос
/ 19 ноября 2011

Вы можете напрямую установить его:

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

или использовать Storage.prototype

Перед тем, как сделать это, убедитесь, что вы не перезаписываете любое существующее свойство.Это сделано для предотвращения перезаписи будущих улучшений API браузерами.

0 голосов
/ 04 августа 2016

LocalStorage и sessionStorage Объекты реализуются из интерфейса Storage.

Вы можете создать прототип интерфейса Storage.

Storage.prototype.removeItems = function () {
  for(item in arguments) {
    this.removeItem(arguments[item]);
  }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...