優(yōu)化代碼:使用switch語句
假設(shè)一道題目有A、B、C、D、E五個答案,只有一個為正確答案。我們可以使用if...else if語句來編寫代碼來判斷答案的正確與否。 var i "E"; if (i "A") {
假設(shè)一道題目有A、B、C、D、E五個答案,只有一個為正確答案。我們可以使用if...else if語句來編寫代碼來判斷答案的正確與否。
var i "E";
if (i "A") {
document.write("回答錯誤");
} else if (i "B") {
document.write("回答錯誤");
} else if (i "C") {
document.write("回答錯誤");
} else if (i "D") {
document.write("回答錯誤");
} else if (i "E") {
document.write("回答正確");
}
優(yōu)化代碼:switch語句
上述代碼雖然能夠解決問題,但是代碼過長,閱讀不方便、編輯也繁瑣。我們可以通過使用switch語句來優(yōu)化這個需求,如下所示。
var i "E";
switch (i) {
case "A":
document.write("回答錯誤");
break;
case "B":
document.write("回答錯誤");
break;
case "C":
document.write("回答錯誤");
break;
case "D":
document.write("回答錯誤");
break;
case "E":
document.write("回答正確");
break;
}
使用break語句退出switch語句
break語句用來退出switch語句的執(zhí)行,每個case語句后面都應(yīng)該跟上break語句。如果不加break語句,即使匹配成功,程序仍然會繼續(xù)執(zhí)行下去。
switch語句是if語句的優(yōu)化版
switch語句是if語句的一種優(yōu)化方式,并不是說比if語句更重要。根據(jù)具體需求,使用switch語句可以讓代碼更簡潔明了。
在switch語句中,我們還可以添加一個default語句,類似于if語句中的else語句,用于處理沒有任何匹配情況下的代碼。
使用switch語句簡化代碼
當(dāng)題目的正確答案只有A、B、C其中一個時,使用switch語句可以大大減少代碼量。相對而言,如果使用if語句,代碼將會變得冗長。
這是由于switch語句具有break語句的特性,一旦匹配成功,就會立即退出,而不會繼續(xù)執(zhí)行下去。
條件運(yùn)算符(?:)
條件運(yùn)算符(?:)是一種簡潔的表達(dá)式,它先計(jì)算問號(?)之前的表達(dá)式,如果結(jié)果為true,則返回冒號(:)之前的值,否則返回冒號(:)之后的值。
例如,(i "對") ? "回答正確" : "回答錯誤" 的運(yùn)算結(jié)果是根據(jù) i 是否等于 "對" 來決定的。