JavaScript条件总是失败

时间:2015-01-30 07:33:32

标签: javascript if-statement local-storage

在下面的代码中,if语句总是失败。 JavaScript的新用户,无法弄清楚。

我相信代码是自我解释的。我做错了什么?

if (localStorage.user_name === null || localStorage.user_name === 'undefined') {
    registerUser(userName);
} else {
    login(localStorage.user_name);  // Gets executed always... Even if there is no user_name in localStorage.
}

1 个答案:

答案 0 :(得分:1)

问题出在你的第二个条件。由于您使用的是===,并且与'undefined'(即字符串)进行比较,而不是undefined,因此会返回false。因此,您需要localStorage === undefined,如

if (localStorage.user_name === null || localStorage.user_name === undefined)

或者,需要使用返回typeof的{​​{1}}。但是有更好的方法

String