上QQ阅读APP看书,第一时间看更新
1.4.1 条件语句
首先看一下如何构造if...else条件语句。有几种方式。
如果想让一个脚本在仅当条件(表达式)是true时执行,可以使用if语句,如下所示。
var num = 1;
if (num === 1) {
console.log('num等于 1');
}
如果想在条件为true的时候执行脚本A,在条件为false(else)的时候执行脚本B,可以使用if...else语句,如下所示。
var num = 0; if (num === 1) { console.log('num等于 1'); } else { } console.log('num不等于 1, num的值是 ’ + num); }
if...else语句也可以用三元运算符替换,例如下面的if...else语句。
if (num === 1) { num--; } else { num++; }
可以用三元运算符替换为:
(num === 1) ? num-- : num++;
如果我们有多个脚本,可以多次使用if...else,根据不同的条件执行不同的语句。
var month = 5; if (month === 1) { console.log(’一月’); } else if (month === 2) { console.log(’二月’); } else if (month === 3) { console.log(’三月’); } else { console.log(’月份不是一月、二月或三月’); }
最后,还有switch语句。如果要判断的条件和上面的一样(但要和不同的值进行比较),可以使用swtich语句。
var month = 5; switch (month) { case 1: console.log('January'); break; case 2: console.log('February'); break; case 3: console.log('March'); break; default: console.log('Month is not January, February or March'); }
对于switch语句来说,case和break关键字的用法很重要。case判断当前switch的值是否和case分支语句的值相等。break会中止switch语句的执行。没有break会导致执行完当前的case后,继续执行下一个case,直到遇到break或switch执行结束。最后,还有default关键字,在表达式不匹配前面任何一种情形的时候,就执行default中的代码(如果有对应的,就不会执行)。