循环语句在js当中主要用于重复做一件事情。
js当中最主要的循环语句有三种,for循环,while循环和do-while循环
for
for 是一种经常被用到的循环结构
例如:控制台循环打印1到10 的数字
// for 括号后跟着 三个表达式, 三个表达式用 分号(;) 隔开// var i = 0 表示定义一个循环遍历变量, 并赋初值 为 0// i < 10 表示 一个 布尔表达式, 如果此条件为真,则会一直执行循环代码块当中的内容// 表达式 i++ 用来循环更新变量,使得变量越来越接近于 布尔表达式当中的10 for (var i = 0; i < 10; i++) {// 循环代码块 console.log(i + 1); }
从上面的例子可以看出, var i = 0 ; 只执行一次, 然后再执行 i < 10 ,如果成立 执行 循环代码块中的内容 , 最后执行 i++ ; 然后循环 从 i < 10 …到 i++ 往复执行
for 语句执行过程
while
while 也是一种循环结构,它经常作用于不知道要遍历多少次,只知道什么时候结束的场景。
使用while语句需要注意:在循环语句体内必须定义一个退出的条件, 否则会造成死循环
while 语句执行过程
while 循环通常先判断条件表达式,然后再决定是否执行循环语句体中的内容
while(布尔测试条件) {// 语句体}
举例
// 定义循环变量 var i = 1;// 判断是有资格进入循环条件内容 while (i < 10) { console.log(i);// 设置自增, 使得 i 满足 大于 10 后退出 i++; }
do-while
do-while 也是一种循环结构, 通常do-while 是 先执行循环体然后才判断条件(这个正好和while相反,while是先判断条件后执行), 条件判断的结果影响是否下一次进入循环语句
所以说 do-while会至少执行一次
语法
do { // 循环体} while(循环条件判断)
举例
do-while至少执行一次
do { console.log("执行");} while (false);
do-while 循环打印
var i = 0; do { console.log(i); i++; } while (i < 10);
break
break 代表终止循环 ,在 for ,while 和 do..while 中都可以使用
举例:for 循环 break
// 输出打印到 5 就终止了 for (var i = 0; i < 10; i++) { console.log(i); if (i == 5) { break; } }
while循环break
var i = 0; while (i < 10) { console.log(i); if (i == 5) { break; } i++; }
do…while 循环 break
var j = 0; do { console.log(j); j++; if (j == 6) { break; } } while (j < 10);
虽然以上三个例子都还没有到达条件语句结尾, 但是break 就可以提前结束循环
continue
continue 表示跳过某一次的循环进入到下次循环,本次条件符合,continue 后面的语句则不会被执行
举例
for 循环跳过某次执行
// 可以看到输出结果,唯独没有打印 5 ,因为被 continue 跳过了 for (var i = 0; i < 10; i++) { if (i == 5) { continue; } console.log(i); }
while 循环跳过某次执行
var i = 0; while (i < 10) { if (i == 5) { i = 6; continue; } console.log(i); i++; }
do…while 跳过某次执行
var i = 0; do { console.log(i); i++; if (i == 5) { i = 6; continue; } } while (i < 10);
死循环
死循环是永远也不退出的循环
死循环有时候是我们故意写的,比如 一直执行某个任务
for 死循环
// for 循环表达式中什么也不写,即为 死循环,即不会主动退出的循环for(;;) {// 循环体}
while 死循环
while (true) {console.log("run...");}
do-while 死循环
do { console.log("run...");}while(true);
.zstitle { width: 280px; text-align: center; font-size: 26px } .zsimgweixin { width: 280px } .zsimgali { width: 280px; padding: 0px 0px 50px 0px } .zsleft { float: left } .zsdiv { display: flex } .zs { font-size: 30px } .zspaddingright { padding: 0px 100px 0px 0px } 请关于一下啦^_^
微信公众号