📜  JavaScript 课程 | JavaScript 中的循环(1)

📅  最后修改于: 2023-12-03 15:31:46.127000             🧑  作者: Mango

JavaScript 课程 | JavaScript 中的循环

在 JavaScript 中,循环语句是一种重要的结构,它可使我们重复执行一段代码,从而减少了冗余的代码。JavaScript 中有两种循环语句:for 循环和 while 循环。

for 循环

for 循环是一种常用的循环形式,可以用于重复执行指定次数的代码块。它的语法格式如下:

for (初始化表达式; 条件表达式 ; 递增表达式) {
    // 待执行的代码块
}

其中,初始化表达式用于初始化计数器,条件表达式用于判断循环是否需要继续执行,递增表达式会在每次循环后执行,以更新计数器的值。例如:

for(let i = 0; i < 5; i++) {
    console.log(i);
}

该循环会输出 0 到 4 这五个数字。

注意,初始化表达式和递增表达式是可选的,如果不需要使用,可省略不写,如:

let i = 0;
for (; i < 5;) {
    console.log(i);
    i++;
}
while 循环

while 循环是另一种常用的循环形式,可以用于重复执行一段代码块,直到某个条件不再为真为止。它的语法格式如下:

while (条件表达式) {
    // 待执行的代码块
}

当条件表达式的值为 true 时,会重复执行 while 循环中的代码块,直到条件表达式的值为 false 为止。例如:

let i = 0;
while (i < 5) {
    console.log(i);
    i++;
}

该循环也会输出 0 到 4 这五个数字。

do...while 循环

与 while 循环类似的还有 do...while 循环,该循环会至少执行一次代码块,然后在条件满足的情况下重复执行。它的语法格式如下:

do {
    // 待执行的代码块
} while (条件表达式);

该循环会先执行一次代码块,然后再检查条件表达式的值,如果为 true 就重复执行循环,否则结束循环。例如:

let i = 0;
do {
    console.log(i);
    i++;
} while (i < 5);

该循环同样会输出 0 到 4 这五个数字。

循环控制语句

在循环中,还有几个控制语句可用于更方便地控制循环的执行过程,它们分别是 breakcontinuelabel

  • break:用于立即退出循环,不再执行循环中的剩余代码块。
  • continue:用于跳过本次循环中的剩余代码块,继续执行下一次循环。
  • label:用于给代码块添加一个标签,方便在嵌套循环中进行控制和跳转。

例如,我们可以使用 break 语句来在找到目标元素时立即退出循环:

const arr = [1, 2, 3, 4, 5];
for (let i = 0; i < arr.length; i++) {
    if (arr[i] === 3) {
        console.log('找到元素:' + arr[i]);
        break;
    }
    console.log('当前处理元素:' + arr[i]);
}

该循环会输出以下内容:

当前处理元素:1
当前处理元素:2
找到元素:3

我们还可以使用 continue 语句来跳过某些情况下不需要处理的元素:

const arr = [1, 2, 3, 4, 5];
for (let i = 0; i < arr.length; i++) {
    if (arr[i] % 2 === 0) {
        console.log(arr[i] + ' 是偶数');
        continue;
    }
    console.log(arr[i] + ' 是奇数');
}

该循环会输出以下内容:

1 是奇数
2 是偶数
3 是奇数
4 是偶数
5 是奇数

最后,我们还可以使用 label 语句在嵌套循环中控制循环的执行过程:

labelName:
for (let i = 0; i < 5; i++) {
    for (let j = 0; j < 5; j++) {
        if (i === 3 && j === 3) {
            break labelName;
        }
        console.log('i=' + i + ', j=' + j);
    }
}

该循环会输出以下内容:

i=0, j=0
i=0, j=1
i=0, j=2
i=0, j=3
i=1, j=0
i=1, j=1
i=1, j=2
i=1, j=3
i=2, j=0
i=2, j=1
i=2, j=2
i=2, j=3