语句:语句可以理解为一个行为,循环语句和判断语句就是典型的语句。一个程序有很多个语句组成,一般情况下分号;分割一个一个的语句;如果省略分号,则由解析器确定语句的结尾(不推荐使用)
一、流程控制
流程控制是每个程序都有的三种基本结构,分别是:顺序结构、分支结构和循环结构。
二、顺序结构
从上到下执行的代码就是顺序结构,程序默认就是由上到下顺序执行的。
三、分支结构
1、if 语句
语法结构:
if(condition) { 语句1};
条件(continue)可以是任意表达式;而且对这个表达式求值的结果不一定是布尔值;ECMAScript 会自动调用 Boolean()转换函数将这个表达式的结果转换为一个布尔值。
如果条件表达式的值为 true,则执行语句1。
2、if...else 语句
if(condition) {
表达式1;
}else {
表达式2;
}
当条件表达式成立为 true时,执行表达式1;当不成立为 false 时,执行表达式2;
这个语句相当于三元运算符(表达式1 ? 表达式2 : 表达式3),三元运算是对 if...else 语句的一种简化写法。
3、if...else if...else 语句
if (condition1) {
表达式1;
}else if (condition2) {
表达式2;
}else {
表达式3;
}
当 condition1成立为 true时,执行语句1;如果为 false,判断 condition2是否成立,成立执行语句2;如果上面的条件都不成立,执行最后 else 后面的语句。
4、switch 语句
语法格式:
switch (expression) {
case value1:
语句;
break;
case value2:
语句;
break;
case value3:
语句;
break;
…
case value n:
语句;
break;
default:
语句;
break;
}
注意事项:
-
- expression 可以是任何类型的值;
- 如果表达式的值等于case 后面的值(value),就会执行后面的语句。
- break 是让代码跳出 switch 语句。如果省略 break 关键字,会导致执行完当前 case 后,继续执行下一个 case,不建议省略。(switch的穿透性)
- default 关键字则用于表达式不匹配前面任何一种情形的时候执行后面的语句。
- switch 语句在比较值使用的是全等操作符,因此不会发生类型转换【重要】。
- expression 可以是任何类型的值;