394 votes

HTML5 localStorage : Vérifiez si l’élément est défini

Comment puis-je vérifier si un élément est défini `` ? Je suis actuellement en utilisant

681voto

CMS Points 315406

L' getItem méthode dans le WebStorage spécification, renvoie explicitement null est l'élément n'existe pas:

... Si la clé n'existe pas dans la liste associée à l'objet, cette méthode doit retourner la valeur null. ...

Donc, vous pouvez:

if (localStorage.getItem("infiniteScrollEnabled") === null) {
  //...
}

Remarque: bien que le WebStorage spécification, par définition, permet de stocker n'importe quel objet JavaScript comme la valeur d'un élément de stockage, ce n'est pas mis en œuvre encore sur n'importe quel navigateur (rapports de Bogue: Firefox, Chrome), le stockage des valeurs des éléments sont de type converti en chaîne.

Cela peut vous donner des problèmes, comme dans votre exemple, si vous stockez une valeur Booléenne, elle sera convertie en chaîne de caractères, par exemple:

localStorage.setItem('test', true);
localStorage.getItem('test') == true; // false!!!

Cela arrive parce que nous comparons une Chaîne avec une valeur Booléenne:

"true" == true; // false
"false" == false; // false

Aussi, si vous essayez de stocker un objet, il sera également converti en Chaîne de caractères.

Voir cette question:

24voto

Vladislav Points 176

Le chemin le plus court consiste à utiliser la valeur par défaut, si la clé n’est pas en stock :

3voto

Derin Points 281

Pour vrai

POUR FALSE

VÉRIFIER L’EXISTANCE

0voto

zloctb Points 531
<pre><code></code><p>Peut-être mieux de faire un scan du plan </p><pre><code></code></pre></pre>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X