JS是一种字符型脚本语言,常见于网页和node.js这类技术中。for循环是JS中最常用的循环语句之一,它可以让程序代码在满足一定条件下重复执行某个代码块。本文将介绍for循环的多种写法,和这些写法的应用场景,希望能给读者提供一些有帮助的知识。
一、基本写法
1、for循环的语法
for循环的语法如下:
for (初始值; 终止条件; 每次循环执行的语句) {
需要重复执行的代码块
}
其中,初始值是指起始条件,终止条件是指终止循环的条件,每次循环执行的语句是指在每次循环结束后需要执行的语句。需要执行的代码块则是需要重复执行的代码。
2、代码示例
代码示例:
for (let i = 0; i < 10; i++) {
console.log(i);
}
输出结果为:
0
1
2
3
4
5
6
7
8
9
3、应用场景
基本写法的for循环适用于大部分循环场景。在循环中可以通过初始值、终止条件和每次循环执行的语句完全控制循环的逻辑和重复执行的代码。
二、倒序循环
1、倒序循环的语法
要实现倒序循环,需要将初始值设为比较大的数,终止条件设为比较小的数,每次循环执行的语句需要将计数器减 1。代码示例如下:
for (let i = 10; i > 0; i--) {
console.log(i);
}
输出结果为:
10
9
8
7
6
5
4
3
2
1
2、代码示例
代码示例:
for (let i = 10; i > 0; i--) {
console.log(i);
}
输出结果为:
10
9
8
7
6
5
4
3
2
1
3、应用场景
倒序循环适用于需要从大到小循环遍历的场景,比如寻找数组中的最大值,或者数组逆序遍历等。
三、遍历数组
1、遍历数组的语法
JS中的数组可以通过for循环进行遍历。数组的长度可以通过数组的length属性获取。
let arr = [1, 2, 3, 4, 5];
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
输出结果为:
1
2
3
4
5
2、代码示例
代码示例:
let arr = [1, 2, 3, 4, 5];
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
输出结果为:
1
2
3
4
5
3、应用场景
遍历数组适用于遍历数组的场景,比如统计数组中的元素个数、计算数组的总和、查找数组中的某个元素等。
四、遍历对象
1、遍历对象的语法
JS中的对象可以通过for-in循环进行遍历。for-in循环会遍历对象的所有属性。
let obj = {name: 'John', age: 25};
for (let key in obj) {
console.log(key + ': ' + obj[key]);
}
输出结果为:
name: John
age: 25
2、代码示例
代码示例:
let obj = {name: 'John', age: 25};
for (let key in obj) {
console.log(key + ': ' + obj[key]);
}
输出结果为:
name: John
age: 25
3、应用场景
遍历对象适用于遍历对象的场景,比如统计对象中属性的个数、筛选符合条件的属性等。
五、嵌套循环
1、嵌套循环的语法
JS中的for循环可以嵌套使用,实现多重循环的效果。嵌套循环的语法如下:
for (let i = 0; i < 5; i++) {
for (let j = 0; j < 3; j++) {
console.log(i, j);
}
}
输出结果为:
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2
3 0
3 1
3 2
4 0
4 1
4 2
2、代码示例
代码示例:
for (let i = 0; i < 5; i++) {
for (let j = 0; j < 3; j++) {
console.log(i, j);
}
}
输出结果为:
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2
3 0
3 1
3 2
4 0
4 1
4 2
3、应用场景
嵌套循环适用于多维数据结构的遍历场景,比如遍历矩阵、地图等。
六、for-of循环
1、for-of循环的语法
JS中的for-of循环是ES6中新增的循环结构。for-of循环可以遍历数组和类数组对象(比如字符串、Set对象、Map对象等)。
let arr = [1, 2, 3, 4, 5];
for (let value of arr) {
console.log(value);
}
输出结果为:
1
2
3
4
5
2、代码示例
代码示例:
let arr = [1, 2, 3, 4, 5];
for (let value of arr) {
console.log(value);
}
输出结果为:
1
2
3
4
5
3、应用场景
for-of循环适用于遍历数组和类数组对象的场景,比如遍历字符串、遍历Set对象等。
七、for-await循环
1、for-await循环的语法
JS中的for-await循环是ES8中新增的循环结构。for-await循环可以遍历异步迭代器。
async function asyncFunc() {
let arr = [1, 2, 3, 4, 5];
for await (let value of arr) {
console.log(value);
}
}
输出结果为:
1
2
3
4
5
2、代码示例
代码示例:
async function asyncFunc() {
let arr = [1, 2, 3, 4, 5];
for await (let value of arr) {
console.log(value);
}
}
输出结果为:
1
2
3
4
5
3、应用场景
for-await循环适用于遍历异步迭代器的场景,比如遍历stream等异步数据源。
八、总结
本文介绍了JS中for循环的多种写法,并且对这些写法的应用场景做了详细的解释。使用这些写法可以更加灵活地处理各种不同的循环场景,提高程序的执行效率。