JavaScript 条件总是失败

JavaScript condition always fails

在下面的代码中,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.
}

问题出在你的第二种情况。由于您使用的是 ===,并且与字符串 'undefined' 而不是 undefined 进行比较,因此 returns 为假。因此,您需要 localStorage === undefined,如

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

或者,需要使用 typeof 其中 returns String。但是还有更好的方法

if(!localStorage.user_name){

}