流程控制语句
流程控制语句
- JS中的程序是从上至下一行一行执行的,通过流程控制语句可以控制程序执行的流程,使程序可以根据一定的条件来选择执行。
语句的分类:
- 条件判断语句
- 条件分支语句
- 循环语句
条件判断语句
使用条件判断语句可以在执行某个语句之前进行判断,如果条件成立才会执行语句,条件不成立则不执行。
if语句
语法一:
if(条件表达式) 语句;
if(条件表达式) {
语句1;
语句2;
语句3;
....
}
if
语句在执行时,会先对条件表达式进行求值判断,如果条件表达式的值为true
,则执行if
后的语句,如果条件表达式的值为false
,则不执行if
后的语句。if
语句只能控制紧随其后的那条语句,如果需要控制多条语句,可以将这些语句统一放到代码块中{ }
。
语法二:
if(条件表达式) {
语句1;
语句2;
....
}else {
语句1;
语句2;
....
}
if...else
语句在执行时,会先对条件表达式进行求值判断,如果条件表达式的值为true
,则执行if
后的语句,如果条件表达式的值为false
,则执行else
后的语句。
语法三:
if(条件表达式) {
语句1;
语句2;
....
}else if {
语句1;
语句2;
....
}else if {
语句1;
语句2;
....
}else {
语句1;
语句2;
....
}
if...else if...else
语句在执行时,会从上到下对条件表达式依次进行求值判断,如果值为true
,则执行当前语句,如果值为false
,则继续向下判断,如果所有条件都不满足,则执行else
后的语句。- 该语句中,只会有一个代码块被执行,一旦有代码块执行了,则直接结束语句。
概念
语句和代码块
- 语句是一个程序的基本单位,JS的程序就是由一条条语句构成的,每一条语句使用
;
结尾。
- JS中的语句默认是由上至下顺序执行的,但是也可以通过一些流程控制语句来控制语句的执行顺序。
- 可以使用一对
{ }
为多条语句进行分组,一组语句称为一个代码块,一个代码块需整体执行,或不执行。
- JS中的代码块,只具有分组的作用,没有其他的用途。
条件分支语句
switch语句
语法:
switch(条件表达式){
case 表达式:
语句...
case 表达式:
语句...
case 表达式:
语句...
case 表达式:
语句...
default:
语句...
break;
}
switch...case...
语句在执行时,会依次将case
后的表达式的值和switch
后的条件表达式的值进行全等比较。如果比较结果为true
,则从当前case
处开始执行代码;如果比较结果为false
,则继续向下比较;如果所有比较结果都为false
,则执行default
后的代码。
- 使用
break
可以退出switch语句。
循环语句
使用循环语句可以反复地执行一段代码多次。
while语句
语法:
while(条件表达式) {
语句;
...
}
var n = 1;
while(true) {
document.write("n++");
}
while
语句在执行时,先对条件表达式进行求值判断,如果值为true
,则执行循环体,循环体执行完毕之后,继续对条件表达式进行求值判断,如果值为true
,则继续执行循环体,以此类推,直到条件表达式的值为false
时则终止循环。
- 条件表达式的值恒为true的循环,称为死循环,慎用死循环。
- 创建循环的一般步骤:
- 初始化一个变量作为初始化表达式
- 在循环中设置一个条件表达式
- 定义一个更新表达式,以每次循环时更新变量
do while语句
语法:
do {
语句;
....
}while(条件表达式);
do...while...
语句在执行时,会先执行循环体,循环体执行完毕之后,再对while
后的条件表达式进行求值判断,如果结果为true
,则继续执行循环体,以此类推,直到条件表达式的值为false
时则终止循环。
for语句
语法:
for(初始化表达式; 条件表达式; 更新表达式) {
语句;
....
}
for
语句在执行时的流程- 执行初始化表达式,初始化变量(仅执行一次)
- 执行条件表达式,判断是否执行循环
如果为true,则执行循环体
如果为false,则终止循环不再继续 - 执行更新表达式,更新表达式执行完毕继续从步骤2开始重复
- for循环中的桑部分都可以省略,也可以写在外部。如果for循环中不写任何表达式,只写两个分号
for(;;)
,此时循环是一个死循环,慎用。
break和continue
break
关键字可以用来退出switch
或循环语句。- 不能在
if
语句中单独使用break
和continue
。 break
关键字会立即终止离它最近的循环语句。- 可以为循环语句创建一个label来标识该循环。
语法:label: 循环语句
使用break
语句时,可以在break
后写一个label
,此时break
将结束指定的循环,而不是最近的。break: label名称
- 不能在
continue
关键字可以用来跳过本次循环continue
默认只会对离它最近的循环起作用。- 可以为循环语句创建一个label来标识该循环。
语法:label: 循环语句
使用continue
语句时,可以在continue
后写一个label
,此时continue
将跳过指定的循环,而不是最近的。continue: label名称
- 可以为循环语句创建一个label来标识该循环。
如发现错误请联系我,谢谢你。
本文链接:http://ninefire.tk/JavaScript.basics/08.html