如果未设置 Phonegap 本地存储 return 是什么?

What does Phonegap local storage return if not set?

我和我的团队正在开发 Phonegap 应用程序,但遇到了一些问题。我们的功能之一如下所示:

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

但是,尽管本地存储项 'email' 被设置为我的电子邮件,它仍然执行 else 语句的内容,而不是 main if 块。也许答案就在我们眼皮底下,我们只是不知道(现在是早上 6 点,很累),所以任何帮助都将不胜感激。

你可以这样试试吗

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

一般来说,如果未设置,我相信 localStorage.getItem returns null。所以你应该可以做到

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

请注意空字符串 "" 在 JavaScript 中是假的(评估为假)。

这是因为 email 如果未设置,将始终 return null。我建议只做:

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