流程控制语句
流程控制语句,JavaScript中的大部分语法都体现在语句中。语句通常使用一或多个关键字完成既定任务。语句可以简单,也可以复杂。简单的如告诉函数退出,复杂的如列出一堆重复执行的指令。
条件判断语句
条件判断语句指的是根据指定的条件所返回的结果,来执行特定的语句。JavaScript 支持两种条件判断语句:if...else和switch。
其中下面这些值将被计算出 false:
-
false -
undefined -
null -
0 -
NaN
空字符串("")
当传递给条件语句所有其他的值,包括所有对象会被计算为真。
1.if...else语句
//语法一:
if(条件表达式){
语句1;
语句2;
}
if语句在执行时,会先对条件表达式进行求值判断,如果值为true,则执行紧跟if后面的代码块中语句,如果为false,则不会执行。
//语法二:
if(条件表达式){
语句1;
语句2;
}else {
语句1;
语句2;
}
该语句执行时,会先对条件表达式进行求值判断,如果值为true,则执行紧跟if后面的代码块中语句,如果为false,则执行紧跟else后的代码块中语句。
//语法三:
if(条件表达式1) {
语句...
}else if(条件表达式2){
语句...
}else{
语句...
}
该语句执行时,会从上到下依次对条件表达式进行求值判断,如果值为true,则执行当前语句。如果值为false,则继续向下判断。直到最后执行最后那个else之后的语句。
2.switch语句
switch语句也叫条件分支语句,JS中的switch可以用于所有的数据类型。
//语法:
switch(条件表达式){
case 表达式:
语句...
break;
case 表达式:
语句...
break;
case 表达式:
语句...
break;
case 表达式:
语句...
break;
case 表达式:
语句...
break;
default:
语句...
}
执行流程:switch...case...语句在执行时会依次将case后的表达式的值和条件表达式的值进行全等比较,如果比较结果为true,则从当前case执行代码,如果为false,则继续依次比较。而break关键字可以跳出switch语句,如果没有break,则代码会继续比较下一个条件。default关键字用于在任何case中都没有匹配成功时执行的语句。
循环语句
循环提供了一种快速和简单的方式去做一些重复的事。循环有很多种类,但本质上它们都做的是同一件事:它们把一个动作重复了很多次。各种循环机制提供了不同的方法去确定循环的开始和结束。不同情况下,某一种类型循环会比其他的循环用起来更简单。
1.while语句
while语句是一种先测试循环语句,即先检测退出条件,再执行循环体内的代码。因此while循环体内的代码有可能一次也不会执行。
//语法:
while(条件表达式){
语句...
}
执行流程:先对条件表达式进行求值判断,如果值为true,则执行循环体,循环体执行完毕会再回到条件表达式判断,如果为true,则继续执行循环体,以此类推直到条件表达式值为false,则终止循环。
2.do-while语句
do-whlie语句是一种后测试循环语句,即循环体代码执行后才会对退出条件进行求值。因此do-while循环体内的代码至少会被执行一次。
//语法 do{ 语句... }while(条件表达式);
执行流程:先执行循环体再对条件表达式进行求值判断。
3.for语句
for语句也是先测试语句,只不过增加了进入循环之前的初始化代码和循环执行后要执行的表达式。for循环中的三个表达式都不是必需的,若三个表达式都没有则是无穷循环,若只包含条件表达式,则实际上就变成了while循环。
//语法
for(初始化表达式;条件表达式;更新表达式){
语句...
}
执行流程:
-
如果有初始化表达式,它将被执行。这个表达式通常会初始化一个或多个循环计数器,但语法上是允许一个任意复杂度的表达式的。这个表达式也可以声明变量。
-
计算条件表达式的值。如果值是 true,循环中的语句会被执行。如果值是 false, 循环终止。如果条件表达式整个都被省略掉了,它的值会被认为是 true。
-
循环中的循环体被执行。
-
如果有更新表达式,执行更新表达式。
-
回到步骤 2。
for循环制作久久乘法表
document.write("<br>打印九九乘法表<br>")
for (var i = 1; i <= 9; i++) {
for (var j = 1; j <= i; j++) {
document.write(i + "*" + j + "=" + i * j + " ")
}
document.write("<br>")
}