Come verificare se è impostato un elemento di archiviazione?

Come posso verificare se un articolo è impostato in localStorage ? Attualmente sto usando

 if (!(localStorage.getItem("infiniteScrollEnabled") == true || localStorage.getItem("infiniteScrollEnabled") == false)) { // init variable/set default variable for item localStorage.setItem("infiniteScrollEnabled", true); } 

Il metodo getItem nella specifica WebStorage, restituisce esplicitamente null se l’elemento non esiste:

… Se la chiave specificata non esiste nell’elenco associato all’object, questo metodo deve restituire null. …

Così puoi:

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

Vedi questa domanda correlata:

  • Archiviazione di oggetti in HTML5 localStorage

Il modo più breve è utilizzare il valore predefinito, se la chiave non è in memoria:

 var sValue = localStorage['my.token'] || ''; /* for strings */ var iValue = localStorage['my.token'] || 0; /* for integers */ 

È ansible utilizzare il metodo hasOwnProperty per verificarlo

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

Funziona nelle versioni correnti di Chrome (Mac), Firefox (Mac) e Safari.

Puoi anche provare questo se vuoi controllare indefinito:

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

getItem è un metodo che restituisce null se il valore non viene trovato.

Come può testare l’esistenza di un object in localSotorage? questo lavoro in internet explorer

  

Per VERO

 localStorage.infiniteScrollEnabled = 1; 

PER FALSO

 localStorage.removeItem("infiniteScrollEnabled") 

CONTROLLA L’ESISTENZA

 if (localStorage[""infiniteScrollEnabled""]) { //CODE IF ENABLED } 
 if(!localStorage.hash) localStorage.hash = "thinkdj"; 

O

 var secret = localStorage.hash || 42; 

È necessario verificare il tipo di articolo nel localStorage

 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? } 
 localStorage['root2']=null; localStorage.getItem("root2") === null //false 

Forse è meglio fare una scansione del piano?

 localStorage['root1']=187; 187 'root1' in localStorage true