条件判断和循环是程序中的基本执行流程控制方式,这里我们落实到具体语句,来看一下JavaScript程序中的流程控制语句用法总结
条件判断语句
1.if语句
if (condition) statement1 else statement2
其中的condition条件可以是任意表达式,而且对这个表达式的求值结果不一定是布尔值。ECMAScript会自动调用Boolean()转换函数将这个表达式的结果转换为一个布尔值。如果对condition求值的结果为true,则执行statement1,如果对condition求值结果为false,则执行statement2。这两个语句既可以是一行代码,也可以是一个代码块(推荐)。
if (condition1) statement1 else if(condition2) statement2 else statement3
2.switch语句
switch(expression) {
case value: statement
break;
case value: statement
break;
case value: statement
break;
default: statement
}
switch语句中每一个case的含义是:"如果表达式等于这个值value,则执行后面的语句statement"。而break会导致代码执行跳出switch语句。如果省略break关键字,就会导致执行完当前case后,继续执行下一个case。最后的default关键字则用于在表达式不匹配前面任何一种情形时,执行机动代码(因此,也相当于一个else语句)。
例子1
var num = 25;
switch (true) {
case num < 0:
alert("Less than 0");
break;
case num >= 0 && num <= 10:
alert("Between 0 and 10");
break;
case num > 10 && num <= 20:
alert("Between 10 and 20");
break;
default:
alert("More than 20");
}
注意:switch语句在比较值时使用的是全等操作符,因此不会发生类型转换。
循环语句
后测试循环语句。
在对表达式求值之前,循环体内的代码至少被执行一次。
1.do-while语句
do {
statement
} while (expression);
例子2
var i = 0;
do {
i += 2;
} while (i < 10);
alert(i);//10
前测试循环语句
2.while语句
?
1
while(expression) statement
例子3
var i = 0;
while(i < 10) {
i += 2;
}
alert(i);//10
3.for语句
它具有在执行循环之前初始化变量和定义循环后要执行代码的能力。
例子4
for(var i = 0;i < 10;i++) {
alert(i);
}
迭代语句
for-in语句
for-in 语句是一种精准的迭代语句,可以用来枚举对象的属性
for (var prop in window) {
console.log(prop);
}
ECMAScript对象的属性没有顺序。因此通过for-in循环输出的属性名是不可预测的,具体来讲,所有属性都会被返回一次,单反毁的先后次序可能会因浏览器而异。建议在使用之前,先检测确认该对象的值不是null或unedfined。
控制执行语句
break语句
立即退出循环
例子5
var num = 0;
for(var i = 1;i < 10;i++) {
if(i % 5 == 0) {
break;
}
num++;
}
alert(num);//4
continue语句
退出当前正在执行的循环代码,然后开始继续循环。
var num = 0;
for(var i = 1;i < 10;i++) {
if(i % 5 == 0) {
continue;
}
num++;
}
alert(num);//8
return语句
可指定返回值,也可不指定(此时返回undefined)。
1.return语句后停止并立即退出函数,return后面的语句也永远不会执行
2.return语句只能在函数体内出现,如果不是的话会自动报语法错误