流程控制
在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的。很多时候我们要通过控制代码的执行顺序来实现我们要完成的功能。
流程控制主要有三种结构,分别是顺序结构、分支结构和循环结构,这三种结构代表三种代码执行的顺序。
顺序结构
顺序结构是程序中最简单、最基本的流程控制,它没有特定的语法结构,程序会按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
分支结构
由上到下执行代码的过程中,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果
if-else if
if (条件表达式1) {
执行语句1
} else if (条件表达式2) {
执行语句2
}
...
else {
执行语句n
}
如果满足if
或者else if
里面的条件表达式,则执行该if
后面的语句,若不满足,则一直向后推,直到遇到最后一个else
来托底。只要执行了某一个条件下的语句,就会退出整个if-else if
结构
switch
switch (表达式) {
case value1:
执行语句1
break;
case value2:
执行语句2
break;
...
default:
执行语句n
break;
}
若表达式的结果满足某个case
后面的value
,则执行其之后的语句,然后break;
结束整个switch语句,若一个case
都不满足,则执行default
,然后结束switch
注意点:
- 表达式的值必须和case里面的值全等,即值和数据类型都一致,否则就会执行default
- 每个
case
都必须要有break;
,不然不会推出switch,会继续执行下一个case(无论是否匹配的上)
三元表达式(三元运算符)
条件表达式 ? 结果1 : 结果2;
如果条件表达式为真,则输出结果1,若为假,则输出结果2
循环结构
for循环
for (初始化变量; 条件表达式; 操作表达式) {
循环体
}
-
初始化变量:声明的一个变量,一般用来做计数器
-
条件表达式:如果满足则执行循环体,不满足则结束循环
-
操作表达式:在循环体执行结束后再执行,一般用来更新计数器(递增或递减)
-
经典案例–九九乘法表:
<script> // 九九乘法表 document.write("九九乘法表"); document.write("<table>"); for (var i = 1; i <= 9; i++) { document.write("<tr>"); for (var k = 1; k <= i; k++) { cal = k * i; document.write("<td>" + k + '*' + i + '=' + cal + ' </td>'); } document.write("</tr>"); } document.write("</table>"); </script>
while循环
while (条件表达式) {
循环体
}
- 当条件表达式为真的时候,执行循环体,为假时跳出
while
循环
do…while循环
do {
循环体
} while (条件表达式);
- 当条件表达式为真的时候,执行循环体,为假时跳出
do...while
循环 do...while
和while
的区别在于:do...while
不管条件表达式是否为真,都会先执行一遍循环体再进行判断,也就是说do-while
至少会执行一次循环体
continue关键字
continue
关键字用于立即跳出本次循环,继续下一次循环(循环未结束)
break关键字
行一遍循环体再进行判断**,也就是说do-while
至少会执行一次循环体
continue关键字
continue
关键字用于立即跳出本次循环,继续下一次循环(循环未结束)
break关键字
break
关键字用于立即跳出整个循环(循环结束)