!= null或!= undefined无法正常工作



我正在尝试在主页上创建个性化的欢迎消息,基本上说"欢迎[用户名]",前提是用户已注册并且其用户名进入localStorage。效果很好,但是我只希望该消息在用户实际注册时显示用户名(否则为"欢迎null"。因此,我尝试使用以下代码来执行此操作:

// 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没有价值(null或Undefined)。

相反,如果usrname没有价值,则if/else语句无法正常工作,欢迎消息显示"欢迎null!",尽管我只希望在欢迎消息中显示usrname值不是零或未定义的。

是否有一些正确的方法?

usrName !="null"与字符串null进行比较,将if (usrName !="null" || usrName !="undefined") {更改为

if (usrName !== null || usrName !==undefined) {.. rest of code}

nullundefined是常数值,而不是字符串。您需要从它们中省略""部分。另外,您可以将nullundefined组合在单个检查中进行检查

if(userName) {
   // ...your code
} 

因为nullundefined falsy 值,您可以尝试在IF语句中评估userName,而无需检查每种情况。

可能是null不是字符串,因此" null"这对null无效,您也可以像以下

一样写入

usrname!="。(关心它们之间没有双引号!)我不知道为此不确定。

相关内容

  • 没有找到相关文章

最新更新