6.2.3 if…else语句串

  我们经常需要查看一系列条件,当其中一个为真时,做某些事情。例如,假设我们正在订购中餐,选择想吃什么。你最喜欢的中餐是柠檬鸡,所以如果这道菜在菜单上的话,你就会点它。如果菜单上没有柠檬鸡,你会点豉汁牛肉。如果菜单上也没有豉汁牛肉,你会点咕嘟肉。万一这些菜没有,你会点蛋炒饭,因为你知道所有的中餐馆都会有这道菜。

《javascript-少儿编程》第六章条件与循环之if…else语句

  要创建一连串的if…else语句,还是从常规的if语句开始,在主体的结束括号之后,输入关键字else if ,紧跟着另一个条件和另一个主体。可以一直这样做下去,直到所有的条件都执行完,对于条件的数量是没有限制的。如果没有条件为真,就会执行最后一个else部分。图6-3展示了一般的if…else的语句串。

《javascript-少儿编程》第六章条件与循环之if…else语句

图6-3 if…else 语句串

  可以像下面这样解读:

1、 如果第一个条件为真,执行第一个主体。

2、 否则,如果第二个条件为真,执行第二个主体。

3、 否则,如果第三个条件为真,执行第三个主体。

4、 否则,执行else部分。

  当使用诸如这样一个带else部分的if…else语句串的时候,就可以确保一个(并且只有一个)主体会执行。只要发现一个条件为真,就会执行其所对应的主体,不会再验证其他条件。如果运行上述示例代码,我点的牛肉就会打印到控制台,因为beefWithBlackBean是if…else串中第一个为真的条件。如果条件都不为真,就会运行else的主体部分。《javascript-少儿编程》第六章条件与循环之if…else语句

  有一件事需要注意:最后的else不是必需的。然而,如果没有这个else,当所有条件都不为真时,if…else串中的内容都将不会执行。

《javascript-少儿编程》第六章条件与循环之if…else语句

  在这个示例中,省略了最终else部分。因为没有你喜欢的食物,所以没有东西打印出来(看上去好像你不打算吃东西了!)。

试试看

  编写一个程序,使用一个name变量。如果name是你的名字,打印“Hello me!”;否则,打印“Hello stranger!”。(提示:使用===比较name和你的名字。)

  接下来,重写这个程序,如果name设置成你父亲的名字,它会和你父亲打招呼,如果name是你母亲的名字,它会和你母亲打招呼。如果都不是,它会像之前一样说“Hello stranger!”。

作者:nick morgan 翻译:李强