Что возвращает локальное хранилище Phonegap, если оно не установлено?

Я и моя команда разрабатывают приложение Phonegap и сталкиваются с некоторыми проблемами. Одна из наших функций выглядит так:

var email = localStorage.getItem("email");
if (email != "" && email.type != undefined) {
    //Do stuffs
} else {
    //Do other stuffs
};

Но, несмотря на то, что локальный элемент хранилища «электронная почта» установлен на мой адрес электронной почты, он по-прежнему выполняет содержимое инструкции else, а не основного блока if. Может быть, ответ прямо под нашими носами, мы просто не знаем (его 6 утра здесь, очень устал), поэтому любая помощь ценится.

javascript,android,phonegap,

0

Ответов: 3


0 принят

Это происходит потому, что emailвсегда будет возвращаться, nullесли не задано. Я рекомендую просто делать:

var email = localStorage.getItem("email");
 if (email !== null) {
   //Do stuffs
 } else {
   //Do other stuffs 
 };

0

Не могли бы вы попробовать это?

var email = window.localStorage.getItem("email");

0

В общем , я считаю , localStorage.getItemвозвращается , nullесли она снята с охраны. Поэтому вы должны быть в состоянии просто сделать

var email = localStorage.getItem("email");
if (email) {
    //Do stuffs
} else {
    //Do other stuffs
};

Обратите внимание, что пустая строка ""является фальшивой (оценивается как ложная) в JavaScript.

JavaScript, андроид, PhoneGap,
Похожие вопросы
Яндекс.Метрика