比较字符串而不区分大小写

Compare strings without being case-sensitive

我在 JavaScript 中创建的变量(它是一个字符串)有问题。它将来自用户 prompt,然后使用 switch 我将检查它是否正确。然后当我输入大写时,它会说它被识别为另一个 var.

这是我的代码:

var grade = prompt("Please enter your class") ;

switch ( grade ){
    
    case "firstclass" :
         alert("It's 500 $")
         break;
    case "economic" :
         alert("It's 250 $")
         break;
    default:
         alert("Sorry we dont have it right now");

}

一开始就小写。

var grade = prompt("Please enter your class").toLowerCase() ;

正如@nicael 所说,他们输入的只是小写。但是,如果您需要保留它的输入方式并且只使用小写等效项进行比较,请使用:

var grade = prompt("Please enter your class") ;

switch ( grade.toLowerCase() ){

  case "firstclass" :
     alert("It's 0");
     break;
  case "economic" :
     alert("It's 0");
     break;
  default :
     alert("Sorry we don't have it right now");
}

您可以使用字符串原型方法 toLowerCase() 将整个字符串设置为小写,然后以这种方式比较两者。

要保持​​输入不变,请在 switch 语句中改变字符串:

switch( grade.toLowerCase() ) {
  // your logic here
}

在区分大小写的语言中,您应该始终将大写字符串与大写值进行比较。
或更低。

var grade = prompt("Please enter your class") ;

switch (grade.toUpperCase())
{    
case "FIRSTCLASS" :
     alert("It's 500 $")
     break;
case "ECONOMIC" :
     alert("It's 250 $")
     break        ;
default   :
     alert("Sorry we dont have it right now");
}