Как проверить, установлен ли элемент хранения?
Как проверить, установлен ли элемент в localStorage
? В настоящее время я использую
if (!(localStorage.getItem("infiniteScrollEnabled") == true || localStorage.getItem("infiniteScrollEnabled") == false)) {
// init variable/set default variable for item
localStorage.setItem("infiniteScrollEnabled", true);
}
Ответы
Ответ 1
Метод getItem
в спецификации WebStorage явно возвращает null
, если элемент не существует:
... Если данный ключ не существует в списке, связанном с объектом, тогда этот метод должен вернуть значение null....
Итак, вы можете:
if (localStorage.getItem("infiniteScrollEnabled") === null) {
//...
}
Смотрите этот вопрос:
Ответ 2
Самый короткий способ - использовать значение по умолчанию, если ключ не находится в памяти:
var sValue = localStorage['my.token'] || ''; /* for strings */
var iValue = localStorage['my.token'] || 0; /* for integers */
Ответ 3
Вы также можете попробовать это, если хотите проверить undefined:
if (localStorage.user === undefined) {
localStorage.user = "username";
}
getItem - это метод, который возвращает значение null, если значение не найдено.
Ответ 4
Как можно проверить существование элемента в localSotorage?
это одна работа в Internet Explorer
<script>
try{
localStorage.getItem("username");
}catch(e){
alert("we are in catch "+e.print);
}
</script>
Ответ 5
Для TRUE
localStorage.infiniteScrollEnabled = 1;
ДЛЯ ЛОЖЬ
localStorage.removeItem("infiniteScrollEnabled")
ПРОВЕРИТЬ СУММЫ
if (localStorage[""infiniteScrollEnabled""]) {
//CODE IF ENABLED
}
Ответ 6
Вы можете использовать метод hasOwnProperty
для проверки этого
> localStorage.setItem('foo', 123)
undefined
> localStorage.hasOwnProperty('foo')
true
> localStorage.hasOwnProperty('bar')
false
Работает в текущих версиях Chrome (Mac), Firefox (Mac) и Safari.
Ответ 7
localStorage['root2']=null;
localStorage.getItem("root2") === null //false
Может быть, лучше сделать сканирование плана?
localStorage['root1']=187;
187
'root1' in localStorage
true
Ответ 8
if(!localStorage.hash) localStorage.hash = "thinkdj";
или
var secret = localStorage.hash || 42;
Ответ 9
Вы должны проверить тип элемента в 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?
}