So setzen Sie das lokale Speicherelement auf null zurück.

Lesezeit: 3 Minuten

Ich verwende ein System, um Benutzer zu benachrichtigen, wenn eine Website einer größeren Aktualisierung unterzogen wurde, und ich mache es mit LocalStorage. Als ich das System erstellte, ließ ich das System prüfen, ob tip “null” war, und dann “tip” auf setzen wahr, als sie die Warnung erhielten. Jetzt möchte ich den lokalen Speicher „tip“ auf null zurücksetzen und stattdessen „tip2“ verwenden.

Würde ich das tun? localStorage.setItem(‘tip’, ‘null’);

Benutzer-Avatar
Michael Theriot

localStorage.removeItem('tip') wenn Sie darauf abzielen, den Schlüssel zu entfernen

localStorage.setItem('tip', 'null') wenn Sie es nur auf die Zeichenfolge “null” setzen möchten

  • oder localStorage.tip = 'null'

    – Alex

    4. März 2013 um 2:10 Uhr


  • Wird dieses localStorage.removeItem(‘tip’) funktionieren, wenn ich einen anderen Teil meiner Website darauf überprüfen muss: if(tip==null){

    – David

    4. März 2013 um 2:11 Uhr


  • Du solltest benutzen localStorage.getItem('tip') === null um zu prüfen, ob es existiert.

    – Michael Theriot

    4. März 2013 um 2:18 Uhr

  • @ williamle8300 Sie können localStorage verwenden, um jede Art von serialisierbaren Daten zu speichern, indem Sie in JSON und zurück konvertieren, aber es ist letztendlich nur ein Schlüsselwertspeicher für Zeichenfolgen. Ebenfalls, JSON.parse(null) === null.

    – Michael Theriot

    3. Oktober 2016 um 23:47 Uhr

  • @MichaelTheriot Ja, ich stimme zu, es ist eine Frage des Stils. Auch wenn es nicht Teil der localStorage-Spezifikation ist, irgendeine Vorstellung von JSON zu haben, aber meiner Meinung nach ist es eine Webtechnologie, also habe ich dies immer erzwungen, um von localStorage zu bekommen/einzustellen: 1) localStorage.setItem(key, JSON.stringify(value)) 2) JSON.parse(localStorage.getItem(key)). Dies ist nur meine Meinung, und Sie haben wahrscheinlich Recht, ich sollte das nicht aufzwingen, aber ich denke, es war erwähnenswert.

    – wle8300

    4. Oktober 2016 um 21:33 Uhr


Benutzer-Avatar
Whitneyland

Es gibt keine Möglichkeit, ein localStorage-Element auf den Wert null festzulegen. Verwenden Sie stattdessen entfernen.

Jedes localStorage-Element hat entweder einen Zeichenfolgenwert oder es existiert nicht. Es ist kein anderer Typ möglich, daher ist auch keine Variation von null möglich.

Der verwirrende Teil ist, dass Sie, wie Sie in Ihrem Beispiel bemerkt haben, wenn Sie localStorage.getItem(‘tip’) aufrufen und es nicht existiert, im Debugger oder beim Versuch, den Wert anzuzeigen, einen Null-Rückgabewert sehen.

So unintuitiv dies auch ist, es bedeutet nicht, dass tatsächlich ein lokales Speicherelement mit einem Wert von null vorhanden ist. Es bedeutet wirklich, dass der Artikel “Tipp” überhaupt nicht existiert. Es gibt nicht einmal eine einzige interne Spur von irgendetwas, das mit der Schlüsselspitze zusammenhängt.

Wenn Sie versuchen, ein Element, das existiert, “auf null zurückzusetzen” (was unmöglich ist), sollten Sie es stattdessen tun Löschen der Artikel.

In Ihrem Beispiel wird dies dazu führen, dass der Rückgabewert wieder als null angezeigt wird, wie beim ersten Aufruf von localStorage.getItem(‘tip’), obwohl er nicht null ist, sondern überhaupt nicht existiert. Dazu können Sie das Element wie unten beschrieben entfernen.

Denken Sie daran, alles, was Sie jemals brauchen, ist erhalten, einstellenund Löschen.

localStorage.getItem('tip') // Artikelwert abrufen
localStorage.setItem('tip','cool stuff') // Itemwert setzen
localStorage.removeItem('tip') // Gegenstand entfernen
if (localStorage.getItem('tip') === null) // Prüfen, ob Artikel vorhanden ist

Technisch gesehen schlug die Antwort von @Michael Theriot vor, den Artikeltipp auf einen Zeichenfolgenwert von “null” zu setzen. Das ist nicht viel anders, als es auf „Hund“ zu setzen, da keiner von ihnen tatsächlich ein vom System erkannter Nullwert ist.

Ich vermute, das ist nicht das, was Sie gemeint haben, aber selbst wenn es so wäre, würde ich eher davon abraten, da es für andere, die Ihren Code pflegen, verwirrend werden kann.

1090410cookie-checkSo setzen Sie das lokale Speicherelement auf null zurück.

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy