JavaScript中的for循环介绍

JavaScript中的for循环介绍

在JavaScript中,有多种循环语句可以用于遍历数组、对象或其他可迭代的数据结构。这些常用的循环包括for循环、for-in循环、for-of循环和forEach方法。本文依次介绍它们的特点和用法:

1、for循环:

for (initialization; condition; increment){

  // 循环体

}

其中,initialization 是在循环开始前执行的代码块,它用于初始化循环变量;condition 是每次循环前检查的条件,当条件为 false 时,循环结束;increment 是在每次循环结束后执行的代码块,它用于更新循环变量的值。

这是最常见的一种循环方式,它适用于已知迭代次数的情况。

示例:

const arr = [10, 20, 30, 40, 50];
for (let i = 0; i < arr.length; i++) {
  console.log(arr[i]);
}

在这个例子中,初始化部分使用 let 关键字声明了一个变量 i,将其初始值设为 0。条件部分使用了小于运算符 (<),判断 i 是否小于 arr 数组的长度,只有在 i 小于数组长度时,循环才会继续执行。操作部分使用 ++ 运算符,每次将 i 的值加1。

输出结果:

10
20
30
40
50

也可以省略一些可选的部分。例如,在以下的循环中,初始化部分被省略,循环计数器被初始化为0,上面代码可改为:

const arr = [10, 20, 30, 40, 50];
let i = 0;
for (; i < arr.length; i++) {
  console.log(arr[i]);
}

2、for-in循环:

for (var key in object) {

  if (object.hasOwnProperty(key)) {

    // 循环体

  }

}

for-in循环用于遍历对象的属性,其中key表示对象的每个属性名。请注意,此方式是用于遍历对象属性(键值对)的,不适用于遍历数组。

示例:

const obj = { a: 1, b: 2, c: 3 };
for (let key in obj) {
  if (obj.hasOwnProperty(key)) {
    console.log(key + ": " + obj[key]);
  }
}

输出结果:

a: 1
b: 2
c: 3

3、for-of循环:

for (var item of iterable) {

  // 循环体

}

for-of循环是ES6引入的新特性,它可以用来遍历可迭代对象(如数组、字符串、Set、Map等)。在每次循环中,item表示可迭代对象的每个元素值,而不是索引或键。此方式适用于遍历数组、字符串以及其他遵循可迭代协议的对象。

示例:

const arr = [10, 20, 30, 40, 50];
for (let item of arr) {
  console.log(item);
}

输出结果:

10
20
30
40
50

4、除此之外,JavaScript 中还提供了 forEach() 方法用于遍历数组。:

array.forEach(function(item, index, array) {

  // 循环体

});

forEach()是数组对象提供的方法,forEach 方法没有返回值,用于遍历数组中的每个元素。在每次循环中,通过回调函数处理当前元素、索引和原始数组。需要注意的是,forEach()方法遍历完整个数组,无法中途跳出循环(除非使用异常抛出)。

示例:

const arr = [1, 2, 3, 4, 5];
arr.forEach(function(item, index, array) {
  console.log("Index: " + index + ", Value: " + item);
});

输出结果:

Index: 0, Value: 10
Index: 1, Value: 20
Index: 2, Value: 30
Index: 3, Value: 40
Index: 4, Value: 50

在 JavaScript 中,for 循环、for-in 循环和 for-of 循环的循环体中都可以使用 break 和 continue 语句来控制循环的行为。

break 语句用于立即退出循环,不再执行循环体内之后的代码,并继续执行循环之后的代码。

continue 语句用于跳过当前迭代,继续执行下一次迭代。

例如,在 for 循环中使用 break 和 continue 的示例:

for (let i = 0; i < 5; i++) {
  if (i === 2) {
    continue; // 跳过当前迭代,继续下一次迭代
  }
  if (i === 4) {
    break; // 中途跳出循环
  }
  console.log(i);
}

输出结果:

0
1
3

但是,对于 forEach() 方法,它是一个数组的方法,它的循环体中不能使用 break 和 continue 语句来控制循环的行为。forEach() 方法会遍历整个数组,对每个元素都执行回调函数,无法中途跳出循环。如果在回调函数中使用 break 或 continue,它们将会产生语法错误。

小结

for 循环、for...in 循环和 for...of 循环是 JavaScript 中的循环语句,而 forEach() 是数组对象的一个方法。

for 循环是最常见的循环语句,可以通过指定循环的起始条件、终止条件和每次循环后的执行操作来遍历执行代码块。

for...in 循环用于遍历对象的属性,它将遍历对象及其原型链中可枚举的属性。

for...of 循环用于遍历可迭代对象(例如数组、字符串、Set、Map 等),它可以遍历对象中的每个元素值。

forEach() 是数组对象的方法,用于遍历数组的每个元素,并对每个元素执行指定的回调函数。

在 JavaScript 中,for 循环、for-in 循环和 for-of 循环都支持使用 break 和 continue 语句来控制循环行为。在 forEach() 方法中无法使用 break 和 continue 语句来中断或跳过循环。

猜你喜欢

转载自blog.csdn.net/cnds123/article/details/132321458