任务2-5 不同时间段显示不同的问候语
【任务描述】
在网页中根据不同时间段(采用24小时制)显示相应的问候语,具体要求如下。
(1)每天上午8点之前(不包含8点)显示“早上好!”。
(2)每天上午12点之前(包含8点但不包含12点)显示“上午好!”。
(3)每天的12点至14点(包含12点但不包含14点)显示“中午好!”。
(4)每天的14点至17点(包含14点但不包含17点)显示“下午好!”。(5)每天的17点之后(包含17点)显示“晚上好!”。
【思路探析】
使用if…else if…else…语句实现所需的功能。
【特效实现】
不同时间段显示不同问候语的JavaScript代码如表2-20所示。
表2-20 不同时间段显示不同问候语的JavaScript代码
表2-20中的代码解释如下。
(1)03行声明了两个变量,变量名分别为today、hour。
(2)04行是一条赋值语句,创建一个日期对象,且赋给变量today。
(3)05行是一条赋值语句,调用日期对象的方法getHours()获取当前日期对象的小时数,且赋给变量hour。
(4)06~10行是一个较为复杂的if…else if…else…语句,该语句的执行规则如下。
首先判断条件表达式hour<8是否成立,如果该条件表达式的值为true(如早上7点),则程序将执行对应语句“document.write(" 早上好!");”,即在网页中显示“早上好!”的问候语。
如果条件表达式hour<8的值为false(如上午9点),那么判断第1个else if后面的条件表达式hour<12是否成立,如果该条件表达式的值为true(如上午9点),则程序将执行对应语句“document.write(" 上午好!");”,即在网页中显示“上午好!”的问候语。
以此类推,直到完成最后一个else if条件表达式hour<17的测试,如果所有的if和else if的条件表达式都不成立(如晚上20点),则执行else后面的语句“document.write(" 晚上好!");”,即在网页中显示“晚上好!”的问候语。