#javascript #jquery #local-storage
#javascript #jquery #локальное хранилище
Вопрос:
Я пытаюсь установить некоторое значение в локальном хранилище. Итак, я делаю это:
if (localStorage) {
var event = localStorage.getItem("Event");
if (event != "undefined" || event != "null") {
console.log(event)
} else {
localStorage.setItem("Event", "Event Name");
console.log('test');
}
}
Я не могу сохранить значение в локальном хранилище в первый раз. Он ничего не возвращает в else
состоянии. Всегда возвращается null
из существующего условия проверки. Кто-нибудь может помочь?
Комментарии:
1. Для создания строк используются кавычки. «undefined» — это строковый литерал, и он равен только строке «undefined».
2.
x != a || x != b
всегда верно, когда a != b .
Ответ №1:
Если оно не существует, null
возвращается, а не строка "null"
, поэтому измените на:
if (event != null) {
console.log(event)
} else {
localStorage.setItem("Event", "Event Name");
console.log('test');
}
Из документов W3:
Метод GetItem (key) должен возвращать текущее значение, связанное с данным ключом. Если данный ключ не существует в списке, связанном с объектом, тогда этот метод должен возвращать значение null.