在以下简单的脚本中,我需要一些关于切换错误的帮助。
var pp = 1;
switch (pp) {
case pp == 1:
var p = "A";
break;
default:
var p = "F";
break;
}
document.write(p); //display "F" ---??? it should be "A".
if (pp == 1) document.write("A"); //display "A"
答案 0 :(得分:4)
您正在以错误的方式使用switch - case
语法,
switch(pp){
case 1 : var p="A"; break;
default : var p="F"; break;
}
您也可以编写如下代码,
var p = pp ? "A" : "F"; //And this code is valid for your given data only.
答案 1 :(得分:1)
您正在重新评估pp的价值。
应该是
case 1:
....
break;
答案 2 :(得分:0)
Javascript Switch-cause应遵循此格式
switch(expression) {
case n:
code block
break;
case n:
code block
break;
default:
default code block
}
所以,案例pp == 1的格式错误。它应该正确如下
<script>
var pp=1;
switch(pp){
case 1 : var p="A"; break;
default : var p="F"; break;
}
document.write(p);
if (pp==1) document.write("A");
</script>
答案 3 :(得分:0)
如果您确实需要对每个案例进行重新评估,可以将true
作为表达式传递给switch语句:
var p,
pp = 1;
switch (true) {
case pp === 1:
p = 'A';
break;
default:
p = 'F';
}
console.log(p); // p should be "A"
if (pp === 1) {
console.log('A'); // display "A"
}