推荐答案
// www.javascriptcn.com code example
// 基本 for 循环
for (let i = 0; i < 5; i++) {
console.log(i);
}
// for...in 循环
const obj = { a: 1, b: 2, c: 3 };
for (let key in obj) {
console.log(key + ': ' + obj[key]);
}
// for...of 循环
const arr = [1, 2, 3, 4, 5];
for (let value of arr) {
console.log(value);
}本题详细解读
基本 for 循环
基本 for 循环是最常见的循环结构,通常用于遍历数组或执行固定次数的操作。其语法如下:
for (初始化; 条件; 迭代) {
// 循环体
}- 初始化:在循环开始前执行一次,通常用于声明和初始化循环变量。
- 条件:每次循环开始前都会检查这个条件,如果为
true,则执行循环体;如果为false,则退出循环。 - 迭代:在每次循环结束后执行,通常用于更新循环变量。
for...in 循环
for...in 循环用于遍历对象的可枚举属性。其语法如下:
for (let key in object) {
// 循环体
}- key:每次循环时,
key会被赋值为对象的当前属性名。 - object:要遍历的对象。
需要注意的是,for...in 循环不仅会遍历对象自身的属性,还会遍历其原型链上的属性。为了避免遍历到原型链上的属性,可以使用 hasOwnProperty 方法进行过滤。
for...of 循环
for...of 循环用于遍历可迭代对象(如数组、字符串、Map、Set 等)。其语法如下:
for (let value of iterable) {
// 循环体
}- value:每次循环时,
value会被赋值为可迭代对象的当前元素。 - iterable:要遍历的可迭代对象。
for...of 循环是 ES6 引入的新特性,它提供了一种更简洁的方式来遍历数组和其他可迭代对象,而不需要使用索引或 for...in 循环。