Nein, localstorage nimmt String als und speichert es. Wenn Sie ein Objekt speichern möchten, dann konvertieren Sie es in eine Zeichenfolge und speichern Sie es dann. beim Abrufen aus dem lokalen Speicher erhalten Sie Zeichenfolge. Sie können es leicht in ein Objekt umwandeln. Wenn Sie ein Objekt direkt in localStorage speichern, wird es auf diese Weise "[object Object]" gespeichert und beim Abrufen von localStorage erhalten Sie "[object Object]" als String.
Falscher Code:
var data={teams:5, points:25,team1:5,team2:10, team3:5, team4:0, team5:5};
localStorage.setItem("save", data);
localStorage.getItem("save")
Sie bekommen "[object Object]"
Rechts Code:
var data={teams:5, points:25,team1:5,team2:10, team3:5, team4:0, team5:5};
localStorage.setItem("save",JSON.stringify(data));
localStorage.getItem("save")
Während Wert von localstorage Abrufen
Falscher Code:
localStorage.getItem("save")
Es wird Daten in Form von String holen.
Rechts Code:
JSON.parse(localStorage.getItem("save"))
Es werden die Daten in Form von Objekt zurückgeben.
Ich hoffe, die Lösung ist gut erklärt.
... nitpicking, aber über * "muss" *, können Sie nicht DOMString Werte übergeben, aber ihre 'toString()' Ergebnis wird gespeichert. – Kaiido
@Kaiido Ich denke, APIs wie ein Vertrag – Phil