我试图在主页上创建一个个性化的欢迎信息,基本上说“欢迎 [用户名]”,前提是用户已经注册并且他们的用户名进入了 localStorage。这工作正常,但我只希望消息在用户实际注册时显示用户名(否则它会显示“欢迎为空”。所以我尝试使用以下代码来做到这一点:
// Stores username inputted on registration page inside Local Storage//
function storeUsrName() {
var regName= document.getElementById("regName");
localStorage.setItem("usrName", regName.value);
alert("Thanks for registering!");
};
// Display welcome message //
$(document).ready(function() {
var usrName = localStorage.getItem("usrName");
if (usrName !="null" || usrName !="undefined") {
document.getElementById("welcomeMessage").innerHTML = ("Welcome " + usrName + "! ");
} else {
document.getElementById("welcomeMessage").innerHTML = ("Welcome! ");
}
});
如果用户注册并为 usrName 分配了一个值,欢迎消息就可以正常工作。但我希望欢迎消息说“欢迎!” 如果用户第一次访问该站点,并且他们还没有注册,并且 usrName 没有值(空或未定义)。
相反,如果 usrName 没有值,则 if/else 语句无法正常工作,并且欢迎消息显示“welcome null!”,尽管事实上我只希望 usrName 显示在欢迎消息中,如果值不是空或未定义。
有没有正确的方法来做到这一点?
null
和undefined
是常量值,而不是字符串。您需要""
从它们中省略部分。您也可以像这样在单个检查中组合null
和undefined
检查
if(userName) {
// ...your code
}
因为null
andundefined
是假值,您可以尝试userName
在 if 语句中评估而不检查每种情况。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句