可以在switch表达式中使用数学运算符吗?

时间:2011-10-30 19:50:55

标签: javascript switch-statement

我在切换表达式中使用数学运算符时遇到问题。

这就是我的代码目前的样子:

var x = 18;
var y = 82;

var result = x + y;

switch(result) {
case "200":
document.write("200!");
break;
case "500":
document.write("500!");
break;
case "100":
document.write("100! :)");
break;
default:
document.write("Something's not right..");
}

解释:变量“result”的值为100.我正在尝试将该值与switch运算符一起使用,但它只是不起作用。

我也尝试使用等式本身作为切换表达式,但这也不起作用。

P.S :我刚开始使用JavaScript。打赌我错过了一些明显的东西......

3 个答案:

答案 0 :(得分:5)

将“100”更改为100并且有效。 switch必须使用===的语义,这意味着'类型和值相等'与==,这将尝试使类型相似,然后进行比较。

编辑 - 这是一个显示正常工作的屏幕截图

enter image description here

答案 1 :(得分:4)

您将数字100与字符串"100"进行比较,这是不一样的。试试这个:

var x = 18;
var y = 82;

var result = x + y;

switch(result) {
case 200:
document.write("200!");
break;
case 500:
document.write("500!");
break;
case 100:
document.write("100! :)");
break;
default:
document.write("Something's not right..");
}

答案 2 :(得分:3)

您在案例陈述中使用字符串。拿出引号("),你应该没问题。