JavaScript有以下几种常用的循环方法:
- for循环:for循环是最常见的循环类型,在已知循环次数的情况下使用。它包含初始化语句、循环条件和迭代语句。例如:
for (let i = 0; i < 5; i++) {
console.log(i);
}
- while循环:while循环在满足指定条件时执行代码块。它只包含一个循环条件。例如:
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
- do...while循环:do...while循环与while循环类似,但它先执行一次代码块,然后再检查条件。例如:
let i = 0;
do {
console.log(i);
i++;
} while (i < 5);
咱们重点讲下面两种循环
for...of循环
JavaScript中的for...of循环是一种用于遍历可迭代对象的循环结构。当我们想要遍历一个数组或其他类似数组的对象时,for...of循环非常有用。
在你提供的代码示例中,prices是一个可迭代对象,可能是一个数组。使用for...of循环,我们可以逐个访问prices中的元素。
let p是循环的语法结构,它定义了一个变量p来表示每次循环中的当前元素。在循环的每次迭代中,p将分别被赋值为prices中的每个元素。
以下是一个示例代码,演示了如何使用for...of循环遍历数组prices并打印每个元素的值:
let prices = [10, 20, 30, 40, 50];
for (let p of prices) {
console.log(p);
}
执行上述代码将输出:
10
20
30
40
50
需要注意的是,for...of循环只能用于遍历可迭代对象,例如数组、字符串、Set、Map等。对于普通对象(Object),我们需要使用其他循环方式(如for...in循环)来遍历其属性。
for...in循环
JavaScript中的for...in循环是一种用于遍历对象属性的循环结构。当我们想要遍历一个普通对象(Object)的属性时,for...in循环非常有用。(它还会遍历对象的隐式原型:原型我有文章有介绍)
在一个for...in循环中,语法结构如下:
for (variable in object) {
// code to be executed
}
其中,variable是一个变量名,代表当前循环中的每个属性名,object是要枚举其属性的对象。
以下是一个示例代码,演示了如何使用for...in循环遍历对象的属性并打印每个属性的值:
let person = { name: "Alice", age: 25, gender: "female" };
for (let prop in person) {
console.log(prop + ": " + person[prop]);//person[prop]是Alice 25...
}
执行上述代码将输出:
name: Alice
age: 25
gender: female
需要注意的是,for...in循环不应该用于遍历数组,因为它会枚举数组的所有可枚举属性,包括数组元素及其原型链上的属性。如果我们只需要遍历数组的元素,应该使用for...of循环。