我们在使用JavaScript时遇到需要一遍一遍地运行相同代码、并且每次的值不同时,使用循环是个明智的选择。
JS中循环有三种:
1.while循环
2.do-while循环
3.for循环
1.while循环
语法结构:
while(条件表达式){当条件表达式为布尔值true时要执行的语句块}
结构流程图:
举例:1到100累加。
<script type="text/javascript">
var i = 1;
var result = 0;
while(i<=100){
result=result+i;
i++;
}
alert(result);
</script>
2.do-while循环
语法结构:
do{条件表达式为true时执行的语句块}while(条件表达式)
结构流程图:
举例:1到100累加。
<script type="text/javascript">
var i = 0;
var result = 0;
do{ i++;
result=result+i;
}while(i<100)
alert(result);
</script>
while循环与do-while循环的区别:
一、while是先判断条件,后执行循环主体(先判断后执行)
二、do-while是先执行循环主体后判断条件(先执行后判断)
三、如果初始条件不满足,while循环主体不执行,而do-while无条件地执行循环主体一次
3.for循环
语法结构:
for(变量初始化 ;条件表达式; 变量更新){条件表达式为true时执行语句块}
结构流程图:
举例:1到100累加。
<script type="text/javascript">
var result = 0;
for(var i = 1; i<=100 ; i++){
result = result + i;
}
alert(result)
</script>
注意:
for循环可以省略变量初始化、条件表达式以及变量更新。省略变量初始值,则通常在循环结构之前进行变量初始化,例如:
<script type="text/javascript">
var result = 0;
var i=1;
for( ; i<=100 ; i++){
result = result + i;
}
alert(result)
</script>
省略条件表达式,则表示该for循环为死循环,因为表达式不写默认为布尔值true,此时可以在循环主体中构建退出循环语(break; / continue;)句以跳出循环。这里以break;为例:
<script type="text/javascript">
var result = 0;
for( var i=1; ; i++){
result = result + i;
break;
}
alert(result)
</script>
省略变量更新也会致使死循环。同上,可以在循环主体中构建退出循环语(break; / continue;)句以跳出循环。
总结:循环次数确定的情况下使用循环通常采用for循环,wihle、do-while通常用于循环次数不确定的情况。