2016-05-18 6 views
1

Ich möchte hinzufügen false-localStorage['flag'] = false Ich habe versucht:Wie setze localStorage Wert auf false?

localStorage['flag'] = false; 
localStorage['flag'] = 0; 

aber wenn ich überprüfen

if(!localStorage['flag']){ 
    //this will never happen 
} 
/**or**/ 
if(localStorage['flag']){ 
    //this will happen always 
} 

Geige Beispiel: https://jsfiddle.net/qqew0zzf/

+1

Soweit ich weiß, lokalen Speicher speichern nur String .. versuchen, den gespeicherten Wert zu drucken und Sie werden sehen, – ItayB

Antwort

4

können Sie verwenden setItem und getItem Ihre Flagge zu speichern. Beachten Sie, dass Sie nach der Verwendung von getItem "falsch" zurückgeben werden. Dies ist der Grund, warum Ihr ursprünglicher Versuch fehlgeschlagen ist (die Zeichenfolge 'false' ist kein falscher Wert). Ziemlich oft wird JSON verwendet, um Objekte im lokalen Speicher zu speichern und zu retrieven.

localStorage.setItem('flag', false); 
var flag = localStorage.getItem('flag'); 
//flag is "false" 

Mit JSON:

localStorage.setItem('flag', JSON.stringify(false)); 
var flag = JSON.parse(localStorage.getItem('flag')); 
//flag is the boolean false