目录
任务描述
相关知识
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 **********/
}