所谓流程控制,就是指对于流程的执行顺序进行控制。默认情况下,JavaScript 引擎会按照代码的编写顺序,从上往下依次执行代码语句。这种情况一般称之为“顺序执行”。
但不是所有的程序都只靠顺序执行就能够完成的,所以除了顺序执行之外,还需要掌握其他的一些代码执行流程。
JavaScript 中代码的执行顺序大致可以分为三种:

而条件语句,就是用来实现”选择执行“的代码执行顺序。
条件语句原理:通过判断某些条件是否成立,来决定执行哪一部分代码或者不执行哪一部分代码。
条件语句主要分为四种形式:
- 单分支语句
- 双分支语句
- 多分支语句
- 多分支等比语句
单分支语句
单分支条件语句,由一个if构成,语法结构如下:
|
|
代码执行顺序:
- 判断小括号中的条件是否成立;
- 条件结果为
true,执行大括号中的代码块; - 条件结果为
false,跳过大括号中的代码块直接执行大括号后面的代码;
|
|
运行结果:
|
|
代码执行顺序分析:
- 执行第一行,创建一个变量
num值为10; - 执行第二行,判断
if条件num > 0是否成立:10 > 0成立; - 进入
if内部,执行第三行代码,输出"进入 if 语句"; - 执行第五行,输出
"if 后面的语句";
双分支语句
双分支条件语句,由一个if和一个else构成,语法结构如下:
|
|
代码执行顺序:
- 判断小括号中的条件是否成立;
- 条件结果为
true,执行代码块一,跳过代码块二; - 条件结果为
false,跳过代码块一,执行代码块二;
|
|
运行结果:
|
|
代码执行顺序分析:
- 执行第一行,创建一个变量
num值为10; - 执行第二行,判断
if条件num > 20是否成立:10 > 20不成立; - 跳过第三行代码;
- 进入
else,执行第五行代码,输出"num > 20 条件不成立"; - 执行第七行代码,输出
"if else 后面的语句";
多分支语句
多分支条件语句,即可以设置多个判断条件的语句。由一个if和多个else if组成,语法结构如下:
|
|
代码执行顺序:
- 判断条件一是否成立;
- 若条件一成立,执行代码块一;
- 若条件一不成立,继续判断下一个条件是否成立;
- 一旦成功进入某一个条件后,后面的判断都不再执行;
|
|
代码执行顺序分析:
- 执行第一行代码,创建一个变量
score保存一个成绩数据85; - 执行第二行代码,判断
if条件score >= 90是否成立:85 >= 90不成立; - 跳过第三行代码;
- 执行第四行代码,判断
else if条件socre >= 70是否成立:85 >= 70成立; - 进入
else if,执行第五行代码,输出"良好"; - 整个多分支语句结束,继续执行后面的代码;
附:多分支条件语句还可以结合else一起使用。语法结构如下:
|
|
当前面所有条件都不成立时,就会执行else的代码。
|
|
依次判断前面每一个条件,都不成立,最后进入else,输出"不及格"。
多分支等比语句
多分支等比语句,即可以设置多个判断条件(判断是否相等)的语句。一个完整的多分支等比语句由一个switch、多个case、多个break(可选)和一个default(可选)组成,语法结构如下:
|
|
代码执行顺序:
- 判断
匹配条件 === 匹配值1是否成立; - 若成立,则执行代码块一;
- 若不成立,则继续判断
匹配条件 === 匹配值2是否成立; - 如果所有
case值都不匹配,则进入default,执行代码块n+1;
|
|
代码执行顺序分析:
- 执行第一行代码,创建一个变量
floor值为'2F'; - 进入
switch,判断小括号中的floor是否全等于第一个case后面的匹配值'1F':floor === '1F'不成立; - 跳过第四、五行代码;
- 判断
floor是否全等于第二个case:floor === '2F'成立; - 执行第七行,输出
'二楼到了'; - 执行第八行
break,跳出整个switch语句;
说明:
switch语句有一个特点,一旦进入某一个case后,如果不通过break语句跳出,后面所有case的代码块都会依次执行。