目錄
任務描述
相關知識
if語句
if-else語句
匹配問題
編程要求
任務描述
本關任務:根據成績判斷考試結果。
相關知識
在編程中,我們常常根據變量是否滿足某個條件來執行不同的語句。
JavaScript
中利用以if
關鍵字開頭的條件語句達到以上目的,根據if
后面括號內表達式的計算結果來進行分支控制。
if語句
一段完整的JavaScript
語句相當于一條主干路,從第一句開始執行直到最后一句。而if
語句是一條連接在干路上的支路,滿足某個條件時程序進入支路中執行,執行完后回到干路。如下所示:
條件成立指if
后面的括號內的表達式的計算結果為true
。
if
語句的結構為:
if(表達式)
{//上面的表達式成立則執行本語句語句;
}
比如下面的例子會根據a
的正負輸出相應的結果:
//求一個數的絕對值
function abs(a) {if(a < 0) {//如果a是負數a = -a;//取反}return a;
}
if-else語句
if-else
相當于干路分成了兩條支路,程序執行遇到分支的時候,必須且只能選擇其中一條繼續執行,結束后回到干路。如下:
條件成立時執行語句1
,這里的語句1
是條件成立時你希望執行的語句,條件不成立時執行語句2
。
語句結構為:
if(條件表達式)
{//條件成立執行語句1語句1;
}
else
{//條件不成立執行語句2語句2;
}
下面是一個具體的例子:
//a為正數或0返回1,a為負數返回0
function num(a) {if(a >= 0) {return 1;}else {return 0;}
}
匹配問題
多個if-else
連接起來的時候會出現匹配問題,如下面的例子:
function abs(a) {if(a >= 0)if(a > 0)a = 1;elsea = -1;return a;
}
從代碼的縮進角度看來,程序中的else
和第一個if
實現了匹配。但是,實際上else
匹配的是第二個if
,因為JavaScript
中的else
遵循的是就近匹配,即else
會和最近的if
組合成一個完整的if-else
結構。
建議:if
語句執行部分加{}
,防止出現 if-else
不匹配問題。
編程要求
本關的編程任務是補全右側代碼片段中Begin
至End
中間的代碼,具體要求如下:
-
根據分數
a
(百分制)返回考試結果; -
a
小于60
分返回unpass
,否則返回pass
;
function mainJs(a) {a = parseInt(a);//請在此處編寫代碼/********** Begin **********/if (a < 60) {return "unpass";}else {return "pass";}/********** End **********/
}