Это происходит потому, что email
всегда будет возвращаться, null
если не задано. Я рекомендую просто делать:
var email = localStorage.getItem("email");
if (email !== null) {
//Do stuffs
} else {
//Do other stuffs
};
Я и моя команда разрабатывают приложение Phonegap и сталкиваются с некоторыми проблемами. Одна из наших функций выглядит так:
var email = localStorage.getItem("email");
if (email != "" && email.type != undefined) {
//Do stuffs
} else {
//Do other stuffs
};
Но, несмотря на то, что локальный элемент хранилища «электронная почта» установлен на мой адрес электронной почты, он по-прежнему выполняет содержимое инструкции else, а не основного блока if. Может быть, ответ прямо под нашими носами, мы просто не знаем (его 6 утра здесь, очень устал), поэтому любая помощь ценится.
В общем , я считаю , localStorage.getItem
возвращается , null
если она снята с охраны. Поэтому вы должны быть в состоянии просто сделать
var email = localStorage.getItem("email");
if (email) {
//Do stuffs
} else {
//Do other stuffs
};
Обратите внимание, что пустая строка ""
является фальшивой (оценивается как ложная) в JavaScript.