Heim Web-Frontend js-Tutorial Detaillierte Erläuterung der wichtigsten Punkte der Verwendung von localStorage in JavaScript_Javascript-Kenntnissen

Detaillierte Erläuterung der wichtigsten Punkte der Verwendung von localStorage in JavaScript_Javascript-Kenntnissen

May 16, 2016 pm 03:19 PM

localStorage wird hauptsächlich verwendet, um Cookies zu ersetzen und die Probleme der Lese- und Schreibschwierigkeiten und der begrenzten Kapazität von Cookies zu lösen (siehe Wichtige Punkte für die Verwendung von Cookies).

localStorage verfügt über die folgenden Funktionen

1.localStorage ist ein allgemeines Objekt und die Vorgänge für jedes Objekt sind anwendbar.

2. Der Attributwert des localStorage-Objekts kann nur eine Zeichenfolge sein.

Dies erfordert besondere Aufmerksamkeit. Wir möchten ein Objekt in localStorage speichern. Wie zum Beispiel

var obj = {
"na=me": "chua",
age: 9
}
//拼接到localStorage
var str = "";
for(var i in obj){
str += encodeURIComponent(i) + "=" + encodeURIComponent(obj[i]) + ";"
}
str = str.substring(0,str.length - 1);
localStorage.testObj = str;
//解析出来
var strA = localStorage.testObj.split(";");
var newObj = {};
for(var i = 0; i < strA.length; i++){
var tmp = strA[i].split("=");
newObj[decodeURIComponent(tmp[0])] = decodeURIComponent(tmp[1]);
}
Nach dem Login kopieren

Natürlich können Sie das Objekt auch mit der JSON-Klasse in einen String konvertieren und speichern und dann den JSON-String beim Herausnehmen in ein wirklich verwendbares JSON-Objektformat konvertieren

3. Die von localStorage unterstützte Standardspeichergröße beträgt 5 MB, was von modernen Browsern gut unterstützt wird

Ausleihen des lokalen HTML5 LocalStorage-Speicherausschnitts von xiaowei0705

Script House erinnert alle daran, Folgendes zu beachten: Wenn Sie es auf einem Mobiltelefon verwenden, müssen Sie Speicherplatz im Hintergrund freigeben, um es zu unterstützen.

„QUOTA_EXCEEDED_ERR“ ist eine Ausnahme. Wenn die von Ihnen verwendete Speicherkapazität das Limit (5 MB) überschreitet, wird diese Ausnahme gemeldet

4.localStorage selbst hat Methoden

Schlüssel-Wert-Paar hinzufügen: localStorage.setItem(key,value)

Schlüsselwert abrufen: localStorage.getItem(key)

Schlüssel-Wert-Paare löschen: localStorage.removeItem(key).

Alle Schlüssel-Wert-Paare löschen: localStorage.clear().

Rufen Sie den Eigenschaftsnamen (Schlüsselnamen) von localStorage ab: localStorage.key(index).

Es gibt auch eine Eigenschaftslänge, die sich von gewöhnlichen Objekten unterscheidet:

Rufen Sie die Anzahl der in localStorage gespeicherten Schlüssel-Wert-Paare ab: localStorage.length.

Das folgende Beispiel wird verwendet, um das Schlüssel-Wert-Paar von localStorage
abzurufen

for(var i=0;i<localStorage.length;i++){
console.log(localStorage.key(i)+ " : " + localStorage.getItem(localStorage.key(i)));
} 
Nach dem Login kopieren

Basierend auf dem Prinzip des Vertrauens in native Methoden sollten für den Betrieb von localStorage so viele native Methoden wie möglich verwendet werden. Allerdings tritt manchmal ein seltsamer QUOTA_EXCEEDED_ERR-Fehler auf, wenn setItem() auf dem iPhone/iPad aufgerufen wird. Die Lösung besteht darin, „removeItem()“ vor „setItem“ zu verwenden. Aufgrund dieses Kompatibilitätsproblems scheint es also bequemer und kompatibler zu sein, Objekte zum Hinzufügen/Löschen von Schlüssel-Wert-Paaren zu verwenden.

5.localStorage-Ereignis

Das Speicherereignis von localStorage kann die Speicheraktion im Speicherereignishandler nicht abbrechen.

Das Speicherereignis ist lediglich eine Benachrichtigung, die der Browser Ihnen ausgibt, nachdem sich die localStorage-Daten geändert haben. Beachten Sie, dass hier die Bedingung ist, dass sich die Daten tatsächlich geändert haben. Mit anderen Worten: Wenn der aktuelle Speicherbereich leer ist, wird das Ereignis nicht ausgelöst, wenn Sie clear() erneut aufrufen. Oder wenn Sie setItem() verwenden, um einen Wert festzulegen, der mit dem vorhandenen Wert übereinstimmt, wird das Ereignis nicht ausgelöst. Es wird ausgelöst, wenn sich der Speicherbereich ändert. Dies enthält viele nützliche Eigenschaften:

•storageArea: Gibt den Speichertyp an (Sitzung oder Lokal)
•key: der Schlüssel des geänderten Elements
•oldValue: der ursprüngliche Wert des Schlüssels
•newValue: neuer Wert des Schlüssels
•URL*: URL, unter der die Schlüsseländerung erfolgt

Hinweis: Das URL-Attribut war in den frühen Spezifikationen das uri-Attribut. Einige Browser wurden früher veröffentlicht und enthielten diese Änderung nicht. Aus Kompatibilitätsgründen sollten Sie vor der Verwendung des URL-Attributs zunächst prüfen, ob es vorhanden ist. Wenn kein URL-Attribut vorhanden ist, sollten Sie das uri-Attribut
verwenden

PS: Speichern und Lesen sind in Firefox und Chrome normal, aber es scheint ein Problem mit dem Auslösen von Speicherereignissen zu geben. Chrome kann das Speicherereignis dieser Seite auslösen, indem die eigene Seite von Firefox das Fenster nicht auslöst Nach dem Ändern des Speicherereignisses, aber wenn gleichzeitig auf A.html und B.html zugegriffen wird, kann die Ausführung von setItem auf Seite A das Speicherereignis des Fensters auf Seite B auslösen. Ebenso kann die Ausführung von setItem auf Seite B das auslösen Speicherereignis des Fensters auf Seite A. In IE9 kann der Einstellungswert der Seite selbst das Speicherereignis der aktuellen Seite auslösen, und der Einstellungswert der aktuellen Seite kann auch das Speicherereignis anderer Seitenfenster unter derselben auslösen „Origin“. Dies scheint beispielsweise sinnvoller zu sein. Der erste Versuch von WebStorage-localstorage

Daher wird empfohlen, kompatible Verarbeitungsfunktionen für kompatible Browser zu schreiben oder das Speicherereignis einfach nicht zu verwenden.

Beispiel

if (window.addEventListener) {
window.addEventListener("storage", handle_storage, false);
} else {
window.attachEvent("onstorage", handle_storage);
};
function handle_storage(e) {
if (!e) { e = window.event; }
//响应代码部分 ...
} 
Nach dem Login kopieren

Einige kleine Punkte:

Auf LocalStorage muss über einen Domänennamen zugegriffen werden, damit es funktioniert

Wenn die Methode clear() aufgerufen wird, werden key, oldValue und newValue alle auf null gesetzt.

LocalStorage wird auf die gleiche Weise verwendet

•localStorage – Datenspeicherung ohne zeitliche Begrenzung
•sessionStorage – Datenspeicher für eine Sitzung

localStorage bietet mehrere Methoden:

1. Speicher: localStorage.setItem(key, value)

Wenn der Schlüssel vorhanden ist, aktualisieren Sie den Wert

2. Holen Sie sich: localStorage.getItem(key)

Wenn der Schlüssel nicht existiert, geben Sie null zurück

3. Löschen: localStorage.removeItem(key)

Nach dem Löschen werden alle dem Schlüssel entsprechenden Daten gelöscht

4. Alles löschen: localStorage.clear()

Manchmal ist es zu mühsam, „removeItem“ zu verwenden, um sie einzeln zu löschen. Sie können „clear“ verwenden, um alle vom localStorage-Objekt gespeicherten Daten zu löschen

5. Durchlaufen Sie die in localStorage gespeicherten Schlüssel


.length Die Gesamtdatenmenge, zum Beispiel: localStorage.length

.key(index) ruft den Schlüssel ab, zum Beispiel: var key=localStorage.key(index);

6. Daten im JSON-Format speichern


JSON.stringify(data) Konvertiert ein Objekt in eine Datenzeichenfolge im JSON-Format und gibt die konvertierte Zeichenfolge zurück

JSON.parse(data) analysiert Daten in Objekte und gibt das analysierte Objekt zurück

Hinweis: Die in localStorage gespeicherten Daten können nicht von mehreren Browsern gemeinsam genutzt werden. Ein Browser kann nur die Daten seines eigenen Browsers lesen und der Speicherplatz beträgt 5 MB.


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was soll ich tun, wenn ich auf den Codendruck auf Kleidungsstücke für Front-End-Thermalpapier-Quittungen stoße? Was soll ich tun, wenn ich auf den Codendruck auf Kleidungsstücke für Front-End-Thermalpapier-Quittungen stoße? Apr 04, 2025 pm 02:42 PM

Häufig gestellte Fragen und Lösungen für das Ticket-Ticket-Ticket-Ticket in Front-End im Front-End-Entwicklungsdruck ist der Ticketdruck eine häufige Voraussetzung. Viele Entwickler implementieren jedoch ...

Wer bekommt mehr Python oder JavaScript bezahlt? Wer bekommt mehr Python oder JavaScript bezahlt? Apr 04, 2025 am 12:09 AM

Es gibt kein absolutes Gehalt für Python- und JavaScript -Entwickler, je nach Fähigkeiten und Branchenbedürfnissen. 1. Python kann mehr in Datenwissenschaft und maschinellem Lernen bezahlt werden. 2. JavaScript hat eine große Nachfrage in der Entwicklung von Front-End- und Full-Stack-Entwicklung, und sein Gehalt ist auch beträchtlich. 3. Einflussfaktoren umfassen Erfahrung, geografische Standort, Unternehmensgröße und spezifische Fähigkeiten.

Entmystifizieren JavaScript: Was es tut und warum es wichtig ist Entmystifizieren JavaScript: Was es tut und warum es wichtig ist Apr 09, 2025 am 12:07 AM

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Wie fusioniere ich Arrayelemente mit derselben ID mit JavaScript in ein Objekt? Wie fusioniere ich Arrayelemente mit derselben ID mit JavaScript in ein Objekt? Apr 04, 2025 pm 05:09 PM

Wie fusioniere ich Array -Elemente mit derselben ID in ein Objekt in JavaScript? Bei der Verarbeitung von Daten begegnen wir häufig die Notwendigkeit, dieselbe ID zu haben ...

Wie kann man Parallax -Scrolling- und Element -Animationseffekte wie die offizielle Website von Shiseido erzielen?
oder:
Wie können wir den Animationseffekt erzielen, der von der Seite mit der Seite mit der offiziellen Website von Shiseido begleitet wird? Wie kann man Parallax -Scrolling- und Element -Animationseffekte wie die offizielle Website von Shiseido erzielen? oder: Wie können wir den Animationseffekt erzielen, der von der Seite mit der Seite mit der offiziellen Website von Shiseido begleitet wird? Apr 04, 2025 pm 05:36 PM

Diskussion über die Realisierung von Parallaxe -Scrolling- und Elementanimationseffekten in diesem Artikel wird untersuchen, wie die offizielle Website der Shiseeido -Website (https://www.shiseeido.co.jp/sb/wonderland/) ähnlich ist ...

Der Unterschied in der Konsole.log -Ausgabeergebnis: Warum unterscheiden sich die beiden Anrufe? Der Unterschied in der Konsole.log -Ausgabeergebnis: Warum unterscheiden sich die beiden Anrufe? Apr 04, 2025 pm 05:12 PM

Eingehende Diskussion der Ursachen des Unterschieds in der Konsole.log-Ausgabe. In diesem Artikel wird die Unterschiede in den Ausgabeergebnissen der Konsolenfunktion in einem Code analysiert und die Gründe dafür erläutert. � ...

Ist JavaScript schwer zu lernen? Ist JavaScript schwer zu lernen? Apr 03, 2025 am 12:20 AM

JavaScript zu lernen ist nicht schwierig, aber es ist schwierig. 1) Verstehen Sie grundlegende Konzepte wie Variablen, Datentypen, Funktionen usw. 2) Beherrschen Sie die asynchrone Programmierung und implementieren Sie sie durch Ereignisschleifen. 3) Verwenden Sie DOM -Operationen und versprechen Sie, asynchrone Anfragen zu bearbeiten. 4) Vermeiden Sie häufige Fehler und verwenden Sie Debugging -Techniken. 5) Die Leistung optimieren und Best Practices befolgen.

Kann PowerPoint JavaScript ausführen? Kann PowerPoint JavaScript ausführen? Apr 01, 2025 pm 05:17 PM

JavaScript kann in PowerPoint ausgeführt werden und durch Aufrufen externer JavaScript -Dateien oder der Einbettung von HTML -Dateien über VBA implementiert werden. 1. Um VBA zu verwenden, um JavaScript -Dateien aufzurufen, müssen Sie Makros aktivieren und VBA -Programmierkenntnisse haben. 2. Einbetten Sie HTML -Dateien ein, die JavaScript enthalten, die einfach und einfach zu bedienen sind, aber Sicherheitsbeschränkungen unterliegen. Zu den Vorteilen zählen erweiterte Funktionen und Flexibilität, während Nachteile Sicherheit, Kompatibilität und Komplexität beinhalten. In der Praxis sollte die Aufmerksamkeit auf Sicherheit, Kompatibilität, Leistung und Benutzererfahrung geschenkt werden.

See all articles