for循环
可以通过 for
关键字创建一个普通的循环,通过指定起始值、结束条件和步长来控制循环的次数。
语法格式
for (初始值; 结束条件; 步长) {
// 循环体执行的代码
}
// 输出 0~4 的数字
for (let i = 0; i < 5; i++) {
console.log(i);
}
for...in循环
用于遍历对象的可枚举属性,返回每个属性名称(字符串类型)。
语法格式
for (variable in object) {
// 循环体执行的代码
}
const obj = { a: 1, b: 2, c: 3 };
for (const prop in obj) {
console.log(prop); // 输出 "a"、"b" 和 "c"
}
使用 for...in
遍历数组时,可能会出现异常结果,因为该方法是遍历对象可枚举属性的,而数组的每个元素也是对象并有自己的属性。
for...of循环
最常用于遍历数组、类数组对象、字符串等 iterable 对象中的每个元素(包括符号字符)。
语法格式
for (variable of iterable) {
// 循环体执行的代码
}
const arr = [1, 2, 3];
for (const num of arr) {
console.log(num); // 输出 1、2 和 3
}
forEach()循环
是 Array
原型上提供的一个遍历数组每个元素的方法,它接受一个回调函数作为参数,该回调函数会传入 array
数组的每个元素、索引和数组本身作为参数。
语法格式
array.forEach((item, index, array) => {
// 循环体执行的代码
});
const arr = [1, 2, 3];
arr.forEach((num, i) => {
console.log(`${i}: ${num}`); // 输出 "0: 1"、"1: 2" 和 "2: 3"
});
需要注意的是,forEach()
不支持在中途跳出循环,因此如果需要在特定条件下停止遍历,最好使用普通的 for
循环。