if-else语句不起作用,想用JavaScript中的ignoreCase

0 javascript if-statement

我页面上的其他所有内容都非常完美.警报(userinput.value); 完美的工作...但语句不会调用按钮.代码仅返回else语句中的有效命令.

      function btn_go_click(){
           var userinput = document.getElementById("txtcommand");   
           alert(userinput.value);         
           if (userinput.value === ("N" || "North")){
              btn_North_click();                
           }else if (userinput.value === ("E" || "East")){ 
              btn_East_click();
           }else if (userinput.value === ("S" || "South")){
              btn_South_click();
           }else if (userinput.value === ("W" || "West")){ 
              btn_West_click();                       
           }else{
            UpdateText ("Valid commands are \"n\", \"e\", \"s\", \"w\"");                   
          }
       }
Run Code Online (Sandbox Code Playgroud)

xda*_*azz 6

结果("N" || "North")永远是"N".

所以if (userinput.value === ("N" || "North"))就像

if (userinput.value === "N"),你需要写:

 if (userinput.value === "N" || userinput.value === "North")
Run Code Online (Sandbox Code Playgroud)

或者您可以像下面这样写(忽略大小写):

if (['n', 'north'].indexOf(userinput.value.toLowerCase()) > -1) {

} // ... and so on
Run Code Online (Sandbox Code Playgroud)