JS中for循环1到100如何实现,方法是什么?
- 云服务器
- 2026-07-24
- 5
for 循环输出 1 到 100 的多种方法
在 JavaScript 中,输出 1 到 100 是一个常见的练习,下面介绍几种实现方式,包括传统 for 循环、while 循环、do…while 循环、for…of 循环以及数组方法。
传统 for 循环
这是最基础的方式,适合大多数场景。
for (let i = 1; i <= 100; i++) { console.log(i); }
- 初始化:let i = 1 从 1 开始。
- 条件:i <= 100 一直执行到 100。
- 更新:i++ 每次递增 1。
while 循环
let i = 1; while (i <= 100) { console.log(i); i++; }
do…while 循环
至少执行一次,这里也适用。

使用 for…of 遍历数组
先创建一个包含 1 到 100 的数组,然后遍历。
const arr = Array.from({ length: 100 }, (_, i) => i + 1); for (const num of arr) { console.log(num); }
或者使用 Array.keys():
使用数组高阶方法
forEach:
Array.from({ length: 100 }, (_, i) => i + 1).forEach(num => console.log(num));
使用递归(不推荐,但可展示)
function printNumbers(n) { if (n > 100) return; console.log(n); printNumbers(n + 1); } printNumbers(1);
使用生成器函数
function range(start, end) { for (let i = start; i <= end; i++) { yield i; } } for (const num of range(1, 100)) { console.log(num); }
常见应用场景
| 方法 | 适用场景 | 特点 |
|---|---|---|
| 传统 for | 通用循环,已知次数 | 灵活,可控制步长 |
| while | 条件不确定时 | 简洁,但易忽略递增导致死循环 |
| for…of | 遍历数组 | 可读性好,不能直接中断 |
| 数组方法 | 函数式编程 | 链式调用,代码简洁 |
| 递归 | 展现递归思想 | 性能较差,栈溢出风险 |
性能考虑
- 传统 for 循环性能最好,因为无额外函数调用。
- 数组方法如 forEach 略慢,但现代引擎优化后差距可忽略。
- 递归在深度大时(如 100)没问题,但超过浏览器栈限制(约 10000)会崩溃。
相关问题与解答
问题 1:如何在 for 循环中跳过某些数字,例如只输出奇数?
解答:在循环体内使用 if 判断。

for (let i = 1; i <= 100; i++) { if (i % 2 !== 0) { console.log(i); } }
或者修改步长:
for (let i = 1; i <= 100; i += 2) { console.log(i); }
问题 2:for 循环中的 let 和 var 有什么区别?
解答:使用 let 声明循环变量时,每次迭代都会创建一个新的绑定,适合在循环内使用异步操作(如 setTimeout),使用 var 则只有全局作用域,所有迭代共享同一个变量,导致经典闭包问题。
// 使用 var 会输出 101 十次 for (var i = 1; i <= 10; i++) { setTimeout(() => console.log(i), 100); } // 使用 let 会输出 1 到 10 for (let i = 1; i <= 10; i++) { setTimeout(() => console.log(i), 100); }
现代 JavaScript 推荐使用 let 或 const。
