Wie kann ich die Speicherklasse in JavaScript benutzerdefinierte Methode hinzufügen?

StackOverflow https://stackoverflow.com/questions/20353420

  •  25-08-2022
  •  | 
  •  

Frage

Kann ich das tun ?

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

Wenn nicht warum? Gibt es alternative Methoden?

War es hilfreich?

Lösung

Ich würde sehr sehr vorsichtig sein, wenn ich das Verhalten von Objekten wie diesen ändere. Es ist in der Regel besser, einen Wrapper für LocalStorage zu liefern (oder zu verwenden store.js oder eine andere Bibliothek), um die gewünschten Funktionen bereitzustellen.

Für den Fall, dass Sie tun Sie möchten eine Methode oder Eigenschaft zu LocalStorage hinzufügen, können Sie dies tun, indem Sie sie dem Prototyp des Konstruktors hinzufügen:

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'

Andere Tipps

Warum willst du so etwas machen? verwenden:

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

Um Ihre Funktion auf Browserebene zu speichern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top