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