在下面的代码中,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.
}
答案 0 :(得分:1)
问题出在你的第二个条件。由于您使用的是===
,并且与'undefined'
(即字符串)进行比较,而不是undefined
,因此会返回false。因此,您需要localStorage === undefined
,如
if (localStorage.user_name === null || localStorage.user_name === undefined)
或者,需要使用返回typeof
的{{1}}。但是有更好的方法
String