javascript|JS流程控制

一、分支
分支语句主要有if语句和switch语句。
if语句有如下三种形式:
第一种形式

if( logic expression) { sataement... }

第二种形式
if( logic expression) { sataement... } else { sataement... }

第三种形式
if( logic expression) { sataement... } else if( logic expression) { sataement... } ...//可以有多个else if语句 else//可以省略 { sataement... }

当语句执行时只有一行语句时,可以省略花括号,但通常不要省略。
switch语句的语法格式如下:
switch (expression) { case condition 1:statement(s) break; case condition 2:statement(s) break; ... case condition n:statement(s) break; default:statement(s) }

这种分支语句的执行是先对expression求值,然后依次匹配condition1、condition2、condition3等条件,遇到匹配条件即执行对应的执行体;如果条件都不匹配,就执行default后的执行体。
例:
="text/javascript"> var score = 'C'; switch(score) { case 'A': document.writeln("优秀."); break; case 'B': document.writeln("良好."); break; case 'C': document.writeln("中."); break; case 'D': document.writeln("及格."); break; case 'F': document.writeln("不及格."); break; default:document.writeln("成绩输入错误"); }

二、while循环
while循环的语句格式如下:
while(expression) { statement... }

当循环体只有一行语句时,循环体的花括号可以省略。作用:先判断expression逻辑表达式的值,当expression为true时,执行循环体;当expression为false时,结束循环体。(注意:一定要让expression有为false的时候,否则循环将成为死循环,永远无法结束)
三、do while循环
如果循环体只有一条语句,则花括号可以省略;do while循环与while循环的区别在于:while循环是先判断循环条件,只有条件为真才执行循环体;而do while循环则先执行循环体,然后判断循环条件,如果为真,则执行下一次循环,否则终止循环;while循环的循环体可能得不到执行,但do while的循环体至少执行一次。do while循环的语法格式如下:
do { statement... } while(expression);

四、for循环
for循环的基本语法格式如下:
for (initialization; test condition; iteration statement) { statements }

如果循环体只有一条语句,则花括号可以省略;for后面的括号里只有两个分号时必须的,其他都可以省略,但就成了死循环for( ; ; );for后的括号里的三个语句,第一个是循环的初始化语句,每个循环语句只会执行一次,而且完全可以省略;第二个语句是一个逻辑表达式,用于判断是否执行下一次循环,不可省略;第三个语句是循环体执行完后最后执行的语句。
五、for in循环
for in 循环的本质是一种foreach循环,主要有两个作用:
1、遍历数组里的所有数组元素
2、遍历JavaScript对象的所有属性
for in循环的语法格式如下:
for (index in object) { statement... }

如果循环体只有一条语句,则花括号可以省略;当遍历数组时,for in循环的循环计数器时数组元素的索引值。
遍历JavaScript对象的所有属性。
例:
="text/javascript"> document.write("navigator对象的全部属性如下:"); for(proName in navigator){ document.write('属性' + proName + '的值是:' + navigator[proName]); document.write("
"); }

结果:
javascript|JS流程控制
文章图片

六、break和continue
break和continue都可用于中止循环,区别是continue只是中止本次循环,接着开始下一次循环;而break则是完全中止整个循环,开始执行循环后面的代码。
例:
break中止
="text/javascript"> for(var i=0; i<5; i++){ for(var j= 0; j<5; j++){ document.writeln('j值为:' + j); if(i >=2)break; document.writeln('i值为:' + i); document.writeln('
'); } }

结果:
javascript|JS流程控制
文章图片

continue中止
="text/javascript"> for(var i=0; i<5; i++){ for(var j= 0; j<5; j++){ document.writeln('j值为:' + j); if(i >=2)continue; document.writeln('i值为:' + i); document.writeln('
'); } }

结果:
javascript|JS流程控制
文章图片

【javascript|JS流程控制】如果在break和continue后面使用标签,则可以直接跳到标签所在的循环,使用break和continue的区别和前面类似。
例:
="text/javascript"> outer: for(var i=0; i<5; i++){ for(var j= 0; j<5; j++){ document.writeln('j值为:' + j); if(i >=2)break outer; document.writeln('i值为:' + i); document.writeln('
'); } }

    推荐阅读