虽然ECMASxript中的switch语句借鉴自其他语言,但这个语句也有自己的特色:首先,可以在switch语句中使用任何数据类型,无论是字符串,还是对象都没问题;其次,每个case的值不一定是常量,可以是变量,甚至是表达式.
switch ("hello world") {
case "hello" + " world":
alert("Greeting was found.");//结果是这个
break;
case "goodbye":
alert("Closing was found.");
break;
default:
alert("Unexpected message was found.");
}
var num = 25;
switch (true) {
case num < 0:
alert("Less than 0.");
break;
case num >= 0 && num <= 10:
alert("Between 0 and 10.");
break;
case num > 10 && num <= 20:
alert("Between 10 and 20.");
break;
default:
alert("More than 20.");
}
- switch语句在比较的时候使用的是全等操作符,因此不会发生类型转换(例如,字符串"10"不等于数值10)