Comment vérifier si un élément de Stockage est réglé?
Comment puis-je vérifier si un élément est défini dans localStorage
? Actuellement, je suis en utilisant
if (!(localStorage.getItem("infiniteScrollEnabled") == true || localStorage.getItem("infiniteScrollEnabled") == false)) {
//init variable/set default variable for item
localStorage.setItem("infiniteScrollEnabled", true);
}
- semble, vous aurez un problème sans un stockage de mutex
Vous devez vous connecter pour publier un commentaire.
La
getItem
méthode dans le WebStorage spécification, renvoie explicitementnull
si l'élément n'existe pas:Donc, vous pouvez:
Voir cette question connexe:
localStorage
pour encapsuler ce petit test? E. g.localStorage.hasItem("infiniteScrollEnabled")
?Storage.prototype
objet, mais comme une règle du pouce je le recommande toujours à ne pas modifier les objets que vous ne possédez pas, spécialement objets hôte.Storage
interface indique expressément que les valeurs sont de typeDOMString
. w3.org/TR/webstorage/#the-storage-interfacelocalStorage
.Vous pouvez utiliser
hasOwnProperty
méthode pour vérifier cetteŒuvres dans les versions actuelles de Chrome(Mac), Firefox(Mac) et Safari.
null
de valeur. Vous pouvez avoir"null"
, mais le code il n'y aura pas de mal se conduire sur elle, tandis que celui-ci échoue surlength
clé.JSON.parse("null") === JSON.parse(null)
j'ai eu une collision.Le chemin le plus court est d'utiliser la valeur par défaut si la clé n'est pas dans le stockage:
Vous pouvez également essayer si vous voulez vérifier l'indéfini:
getItem est une méthode qui renvoie la valeur null si la valeur n'est pas trouvée.
Pour VRAI
POUR FAUX
VÉRIFIER L'EXISTENCE
Ou
Vous devriez vérifier pour la type de l'élément dans le localStorage
Comment peut on tester l'existence d'un élément dans
localStorage
?cette méthode fonctionne dans internet explorer.
try | catch
lors de l'analyse de l'élément.Peut-être mieux de faire un scan du plan ?