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:
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