JS循环语句

75 阅读3分钟

循环的概念

循环就是重复做一件事,在程序中指的是重复执行某段代码。

死循环的概念

死循环就是重复执行代码,不会停止,会造成程序卡死甚至崩溃等问题。

循环的分类

while循环

while循环语法格式:
while(表达式)
{
执行代码;
}

注意:

  1. while循环必须按照上述语法格式来写, 只能更改表达式内容和执行代码.
  2. 表达式可以是常量,变量或者其他表达式,该表达式会被强制转换为boolean类型, 可以理解表达式就是循环的条件, 条件成立则进入括号{}里面执行代码,否则不进入;
  3. 执行代码可以有多行, {}所包含的称为循环体.
  4. 表达式不要一直是true, 避免死循环.
  5. while循环的顺序是: 先判断表达式是否为true, 若true则执行执行代码, 然后再继续判断表达式是否为true, …直到判断表达式为false才会跳出循环, 执行while后面的代码

do-while循环

do-while循环语法格式:
do {
执行代码;
} while(表达式)

注意:

  1. do-while和while比较类似, 也有表达式和执行代码.
  2. do-while和while的区别在于判断条件的先后不一样, while是先判断条件, 而do-while是先执行再判断; 所以不管do-while表达式的条件是否成立, 都至少会执行一次循环体.

for循环

for循环语法格式:
for (表达式1; 表达式2; 表达式3) {
执行代码;
}

注意:

  1. 表达式1: 可写循环初始值, (可以不填)
  2. 表达式2: 循环条件
  3. 表达式3: 循环增量(减量)
  4. 两个分号必须写.
  5. 三个表达式都是可选填写, 但是如果后两个不写,会造成死循环

break和continue

break关键字

break的功能:
1,在switch语句中使流程跳出switch结构。
2,在循环语句中使流程跳出当前的循环

注意:

  1. 如果已执行break语句,就不会执行循环体中位于break后的语句。
  2. 在多层循环中,一个break语句只向外跳一层

continue关键字

continue的功能:
只能在循环语句中使用,使本次循环结束,即跳过循环体中下面尚未执行的语句,接着进行下次是否执行循环的判断。

注意:

  1. continue语句只能用在循环里。
  2. 对于 while 和 do-while 循环,continue 语句执行之后的动作是条件判断;对于 for 循环,随后的动作是变量更新。

break和continue对比

image.png

break和continue与有标签的语句一起使用

与标签一起使用,可到代码中的特定位置。

//没有做任何操作时,这里共循环了360次
var count = 0;
for (var i = 0; i < 5; i++) {
    for (var j = 0; j < 8; j++) {
        for (var k = 0; k < 9; k++) {
            count++;
        }
    }
}
console.log(count);//360

//使用break 当有多层循环时,想要结束整个的循环
var count = 0;
a:for (var i = 0; i < 5; i++) {
    for (var j = 0; j < 8; j++) {
        for (var k = 0; k < 9; k++) {
            count++;
            if(j==4&&k==4){//任意写的一个退出循环的条件
                break a;
            }
        }
    }
}
console.log(count);//41  

//使用continue 直接跳到标记点处重新开始循环,不会管标记点后面的语句
var count = 0;
a:for (var i = 0; i < 5; i++) {
    for (var j = 0; j < 8; j++) {
        for (var k = 0; k < 9; k++) {
            count++;
            if(j==4&&k==4){
                continue a;
            }
        }
    }
}
console.log(count);//205