for循环
for(①初始化表达式; ②条件表达式; ④更新表达式){
③语句...
}
①执行初始化表达式,初始化变量(初始化表达式只会执行一次)
②执行条件表达式,判断是否执行循环:
如果为true,则执行循环③
如果为false,终止循环
④执行更新表达式,更新表达式执行完毕继续重复②
练习
for (var i = 1; i < 10; i = i + 3) { i = i + 1; console.log(i); }
for (var i = 1; i <= 10; i++) { } console.log(i);
for (var i = 1; i > 0; i++) { console.log(i); }
while循环
while(条件表达式){
语句...
}
while语句在执行时,先对条件表达式进行求值判断:
如果值为true,则执行循环体:
循环体执行完毕以后,继续对表达式进行判断
如果为true,则继续执行循环体,以此类推
如果值为false,则终止循环
如果有必要的话,我们可以使用 break 来终止循环。
练习
假如投资的年利率为5%,试求从1000块增长到5000块,需要花费多少年?
var money=1000; //定义变量,表示当前的金钱 var count=0; //定义一个计数器 while(money<10000){ money*=1.05; count++; } console.log(money); console.log('共需要'+count+'年');
do...while循环
do{
语句...
}while(条件表达式)
do...while语句在执行时,会先执行循环体:
循环体执行完毕以后,在对while后的条件表达式进行判断:
如果结果为true,则继续执行循环体,执行完毕继续判断以此类推
如果结果为false,则终止循环
while循环和 do...while循环的区别
while 是先判断在进行。
do...while是先循环一次
break 和 continue
break 退出switch语句或退出整个循环语句(for while do..while 不包含if。if里不能用 break 和 continue,否则会报错)
break 会立即终止最近的循环语句
可以为循环创建一个label,来标示当前的循环(格式:label:循环语句)
使用break语句时,可一个label,这样break会结束指定的循环,而不是最近的
for (var i = 0; i < 5; i++) { console.log("外层循环 i 的值:" + i) for (var j = 0; j < 5; j++) { break outer; // 直接跳出outer所在的外层循环(这个outer是我自定义的label) console.log("内层循环 j 的值:" + j); } }
continue
continue可以用来跳过当次循环,继续下一次循环。
同样,continue默认只会离他最近的循环起作用。