您的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