Comment puis-je vérifier si un élément est installé localStorage
? Actuellement j'utilise
if (!(localStorage.getItem("infiniteScrollEnabled") == true || localStorage.getItem("infiniteScrollEnabled") == false)) {
// init variable/set default variable for item
localStorage.setItem("infiniteScrollEnabled", true);
}
javascript
html
local-storage
Jiew Meng
la source
la source
Réponses:
La
getItem
méthode de la spécification WebStorage renvoie explicitementnull
si l'élément n'existe pas:Afin que vous puissiez:
Voir cette question connexe:
la source
localStorage
pour encapsuler ce petit test? Par exemplelocalStorage.hasItem("infiniteScrollEnabled")
?Storage.prototype
objet, mais en règle générale, je recommande toujours de ne pas modifier les objets que vous ne possédez pas , en particulier les objets hôtes.Storage
interface indique spécifiquement que les valeurs sont de typeDOMString
. w3.org/TR/webstorage/#the-storage-interfaceVous pouvez utiliser une
hasOwnProperty
méthode pour vérifier celaFonctionne dans les versions actuelles de Chrome (Mac), Firefox (Mac) et Safari.
la source
null
valeur stockée . Vous pouvez en avoir"null"
, mais le code ne s'y comportera pas mal, tandis que celui-ci échouera sur lalength
clé.JSON.parse("null") === JSON.parse(null)
j'ai eu une collision.foo
existe, pas si foo a une valeur. J'ai cette situation, où un événement de clic se déclenche.setitem
avec une logique basée sur getItem, mais cela ne fonctionnera pas tant que je n'aurai pas setItem, et je ne pourrai pas setItem avant de connaître l'état de foo (valeur1 ou valeur2). En d'autres termes, cochez foo exits puis réglez-le sur value1 s'il ne le fait pas sans écraser accidentellement value2.Le moyen le plus court consiste à utiliser la valeur par défaut, si la clé n'est pas dans le stockage:
la source
Vous pouvez également essayer ceci si vous souhaitez vérifier si non défini:
getItem est une méthode qui renvoie null si aucune valeur n'est trouvée.
la source
Ou
la source
Pour de vrai
POUR LES FAUX
VERIFIER L'EXISTANCE
la source
Vous devez vérifier le type de l'élément dans le localStorage
la source
Comment peut-on tester l'existence d'un article dans
localStorage
? cette méthode fonctionne dans Internet Explorer.la source
try | catch
lors de l'analyse de l'élément.Peut-être mieux de faire un scan du plan?
la source
La meilleure et la plus sûre façon que je puisse suggérer est la suivante,
Cela passe par la
no-prototype-builtins
règle d'ESLint .la source
J'ai utilisé dans mon projet et fonctionne parfaitement pour moi
la source
est plus facile
Comment ça fonctionne
lorsque vous appelez localStorage.test la première fois, il ne contient aucun magasin dans l'objet localStorage, il renvoie donc des déclencheurs de condition else non définis. après le déclenchement, j'ai défini une nouvelle variable et vérifié à nouveau qu'elle contient des données afin qu'elle renvoie les données avec la condition true in if
la source
Essayez ce code
la source