Javascript-Baocun-Fehlerbericht

WBOY
Freigeben: 2023-05-17 16:26:08
Original
470 Leute haben es durchsucht

JavaScript-Frontend-Entwicklung ist derzeit ein sehr beliebtes Feld. Bei der Datenverarbeitung und -speicherung treten häufig verschiedene Fehlerprobleme auf auftreten, wenn JavaScript Daten speichert. Lassen Sie uns die Fehler und Lösungen analysieren, die auftreten, wenn JavaScript Daten speichert.

1. Häufige JavaScript-Datenspeicherfehler

  1. Wenn wir ein Objekt direkt darin speichern, anstatt es in einen JSON-String zu konvertieren und dann zu speichern, wird eine Fehlermeldung angezeigt: Das Klonen der Daten ist fehlgeschlagen, da das gespeicherte Element über eine Eigenschaft verfügt, die nicht geklont werden kann.
  2. Wenn wir sessionStorage zur Datenspeicherung verwenden und ein zyklisches Referenzobjekt direkt darin speichern, wird auch eine Fehlermeldung angezeigt: Die zyklische Datenstruktur kann nicht im Speicher beibehalten werden.

2. Lösung

  1. Konvertieren Sie das Objekt in einen JSON-String und speichern Sie ihn dann. Die Methode JSON.stringify() kann Objekte in JSON-Strings konvertieren, und die Methode JSON.parse() kann JSON-Strings in Objekte konvertieren.
  2. Lösen Sie das Zirkelverweisproblem. Zirkelverweis bezieht sich auf eine Situation, in der Objekte aufeinander verweisen und eine geschlossene Schleife bilden. Beim Umgang mit Zirkelverweisen können wir eine Bibliothek zur Erkennung von Zirkelverweisen verwenden. Beispielsweise bietet die Bibliothek fast-json-patch die Funktion zur Erkennung von Zirkelverweisen.

3. Beispielanalyse

Lassen Sie uns anhand einiger Beispiele die Fehler und Lösungen veranschaulichen, die beim Speichern von Daten durch JavaScript auftreten.

  1. Fehlermeldung

Wenn wir localStorage zum Speichern eines Objekts verwenden und es vor dem Speichern nicht in eine JSON-Zeichenfolge konvertieren, wird die folgende Fehlermeldung angezeigt:

Datenklonen fehlgeschlagen, da das gespeicherte Element eine hat Eigenschaft, die nicht geklont werden kann.

  1. Lösung

Konvertieren Sie das Objekt in einen JSON-String und speichern Sie ihn dann:

let obj = {name: 'Tom', alter: 18};
// Konvertieren Sie das Objekt in JSON String
let str = JSON.stringify(obj);
//Storage JSON string
localStorage.setItem('user', str);

  1. Fehlermeldung

Wenn wir sessionStorage zum Speichern eines Zirkelreferenzobjekts verwenden, Die folgende Fehlermeldung wird angezeigt:

Die zyklische Datenstruktur kann nicht im Speicher beibehalten werden.

  1. Lösung

Um das Zirkelverweisproblem zu lösen, können Sie die Funktion zur Erkennung von Zirkelverweisen verwenden, die von der Fast-Json-Patch-Bibliothek bereitgestellt wird. Code wie folgt:

const jsonPatch = require('fast-json-patch')
const obj = { name: 'Tom', friends: [] }
obj.friends.push(obj)

const valid = jsonPatch .validate (obj)
if (valid === undefiniert) {
console.log('Das Objekt ist gültig')
sessionStorage.setItem('user', JSON.stringify(obj))
} else {
console. log('Das Objekt hat einen Zirkelverweis')
}

Zusammenfassung

JavaScript-Fehler beim Speichern von Daten sind sehr häufige Probleme. Diese Fehlermeldungen erinnern uns an einige Einschränkungen und Fehler, die beim Speichern von Daten auftreten und die wir beheben müssen einige Besonderheiten bei der Datenspeicherung. Beispielsweise müssen wir die Methode JSON.stringify() verwenden, um das Objekt vor dem Speichern in einen JSON-String umzuwandeln, und wir müssen außerdem eine Zirkelverweiserkennungsbibliothek verwenden, um das Zirkelverweisproblem zu lösen. Nur durch Lernen und Übung können wir die Kenntnisse und Fähigkeiten im Zusammenhang mit der JavaScript-Datenspeicherung besser beherrschen.

Das obige ist der detaillierte Inhalt vonJavascript-Baocun-Fehlerbericht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage