3.1.5 嵌套条件语句
大多数时候,计算机程序必须根据访问者提供的信息或者根据程序中的当前条件来做出判断。程序所做的判断越多,可能的结果也就越多,程序似乎也更“智能”。实际上,我们可能会发现在执行了一个条件语句之后,需要进一步做判断。
假设,在“星期五晚上干什么”的示例中,我们想要把程序扩展到包含一周的每个晚上。在这种情况下,我们需要首先确定是星期几,然后确定在这一天干什么。因此,可能有一个条件语句询问今天是否是星期五,如果是,有另外一系列的条件语句来确定这一天做什么:
if(dayOfWeek=='Friday'){
var fridayCash=prompt('How much money can you spend?’,’');
if(fridayCash>=50){
alert('You should go out to a dinner and a movie.');
}else if(fridayCash>=35){
alert('You should go out to a fine meal.');
}else if(fridayCash>=12){
alert('You should go see a movie.');
}else{
alert('Looks like you will be watching TV.');
}
}
在这个例子中,第一个条件询问存储在变量dayO fWeek中的值是否是字符串“Friday”。如果回答是yes,那么,显示提示对话框,从访问者那里获取某些信息,并且另一个条件语句开始运行。换句话说,第一个条件(dayOfWeek=='Friday')是通向一组条件语句的条件。然而,如果dayOfWeek不是“Friday”,那么,条件为false并且嵌套的条件语句也会略过。