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