javascript for循环从入门到偏门(效率优化+奇特用法)


JavaScript 的 `for` 循环是编程中非常基础且强大的工具,用于重复执行代码块直到满足特定条件。下面我将从基础用法开始,逐步介绍到一些效率优化和奇特用法。

### 基础用法


for (let i = 0; i < array.length; i++) {
  console.log(array[i]);
}

这是最常见的 `for` 循环形式,用于遍历数组。

### 效率优化

#### 1. 缓存数组长度

避免在每次迭代中重新计算数组长度。


const length = array.length;
for (let i = 0; i < length; i++) {
  console.log(array[i]);
}

#### 2. 使用 `for...of` 遍历数组(ES6+)

对于数组遍历,ES6 引入了 `for...of` 循环,它直接遍历数组的值,而不需要索引。


for (const value of array) {
  console.log(value);
}

#### 3. 逆序遍历

有时需要从数组的末尾开始遍历。


for (let i = array.length - 1; i >= 0; i--) {
  console.log(array[i]);
}

### 奇特用法

#### 1. 无限循环

虽然这通常不是好的编程实践,但了解如何创建无限循环是有用的。


for (;;) {
  // 无限循环
}

#### 2. 字符串遍历

`for...of` 也可以用于遍历字符串的每个字符。


const str = "hello";
for (const char of str) {
  console.log(char);
}

#### 3. 多变量更新

可以在 `for` 循环的初始化、条件和迭代部分更新多个变量。


for (let i = 0, j = 10; i < 5; i++, j--) {
  console.log(i, j);
}

#### 4. 使用 `let` 和 `const` 声明循环变量

在 ES6 中,推荐使用 `let` 或 `const` 声明循环变量,以避免在全局作用域中污染变量。


for (let i = 0; i < 5; i++) {
  // 使用 let 声明 i
}

这些是从基础到偏门的 `for` 循环用法,希望对你有所帮助。在实际编程中,选择最适合你当前需求的循环形式是很重要的。