您的if
语句未关联,每个语句都独立于其他语句,这意味着即使较早的语句返回true
,也正在检查所有的语句。你的代码更是这样的:
var question = prompt("What is your age?");
//check if 14
if (question == 14) {
alert("Coupon 1")
}
//check if 21
if (question == 21) {
alert("Coupon 2")
}
//check if 30
if (question == 30) {
alert("Coupon 3")
}
//check if 50, else no coupon
if (question == 50){
alert ("Coupon 4")
}
else {
alert("No Coupon")
}
试着改变它使用的if elseif
报表,这意味着逻辑的字符串是一个连续流:
var question = prompt("What is your age?");
//check if 14
if (question == 14) {
alert("Coupon 1")
}
//check if 21
else if (question == 21) {
alert("Coupon 2")
}
//check if 30
else if (question == 30) {
alert("Coupon 3")
}
//check if 50
else if (question == 50){
alert ("Coupon 4")
}
//if none of the above, no coupon
else {
alert("No Coupon");
}
使用Javascript - 和许多其他语言 - 有它构建在专门处理这种if-elseif-else链的语法中,称为Switch Statement。您可以使用这样的开关重写代码:
switch (prompt("What is your age?")) {
case 14:
alert("Coupon 1");
break;
case 21:
alert("Coupon 2");
break;
case 30:
alert("Coupon 3");
break;
case 50:
alert("Coupon 4");
break;
default:
alert("No Coupon");
break;
}
使用'其他if'第一'if' – C2486
大的第一个问题后!做得好 – Evert