Comment vérifier si un élément de Stockage est réglé?

Comment puis-je vérifier si un article est défini dans localStorage ? Actuellement j'utilise

if (!(localStorage.getItem("infiniteScrollEnabled") == true || localStorage.getItem("infiniteScrollEnabled") == false)) {
    // init variable/set default variable for item
    localStorage.setItem("infiniteScrollEnabled", true);
}
205
demandé sur Xufox 2010-07-16 11:00:38

9 réponses

Le getItem de la méthode dans le WebStorage spécification, renvoie explicitement null si 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) {
  //...
}

voir cette question connexe:

359
répondu CMS 2017-05-23 12:10:44

le moyen le plus court est d'utiliser la valeur par défaut, si la clé n'est pas dans le stockage:

var sValue = localStorage['my.token'] || ''; /* for strings */
var iValue = localStorage['my.token'] || 0; /* for integers */
14
répondu Vladislav 2014-02-20 12:59:43

Vous pouvez utiliser hasOwnProperty méthode pour vérifier cette

> localStorage.setItem('foo', 123)
undefined
> localStorage.hasOwnProperty('foo')
true
> localStorage.hasOwnProperty('bar')
false

fonctionne dans les versions actuelles de Chrome(Mac), Firefox(Mac) et Safari.

12
répondu Stephan Hoyer 2017-01-04 11:16:02

vous pouvez également essayer ceci si vous voulez vérifier pour non défini:

if (localStorage.user === undefined) {
    localStorage.user = "username";
}

getItem est une méthode qui retourne null si la valeur n'est pas trouvée.

4
répondu Prime_Coder 2016-02-29 12:10:03

Comment tester l'existence d'un article dans localSotorage? celui-ci travaille dans Internet explorer

<script>
    try{
        localStorage.getItem("username");
    }catch(e){
        alert("we are in catch "+e.print);
    }
</script>
2
répondu le vantard 2015-10-08 18:05:37

pour vrai

localStorage.infiniteScrollEnabled = 1;

FOR FALSE

localStorage.removeItem("infiniteScrollEnabled")

CHECK EXISTANCE

if (localStorage[""infiniteScrollEnabled""]) {
  //CODE IF ENABLED
}
1
répondu Derin 2014-08-22 04:33:47
if(!localStorage.hash) localStorage.hash = "thinkdj";

ou

var secret =  localStorage.hash || 42;
1
répondu Deepak Thomas 2016-08-10 20:49:09

vous devez vérifier pour le type de l'article dans le stockage local

if(localStorage.token !== null) {
   // this will only work if the token is set in the localStorage
}

if(typeof localStorage.token !== 'undefined') {
  // do something with token
}

if(typeof localStorage.token === 'undefined') {
  // token doesn't exist in the localStorage, maybe set it?
}
1
répondu webmaster 2017-09-24 15:21:12
localStorage['root2']=null;

localStorage.getItem("root2") === null //false

Peut-être mieux de faire un scan du plan ?

localStorage['root1']=187;
187
'root1' in localStorage
true
0
répondu zloctb 2014-06-26 07:35:44