当前位置:首页 > 云服务器 > 正文

JS中for循环1到100如何实现,方法是什么?

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 循环

至少执行一次,这里也适用。

JS中for循环1到100如何实现,方法是什么? 第1张

使用 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 判断。

JS中for循环1到100如何实现,方法是什么? 第2张

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。

JS中for循环1到100如何实现,方法是什么? 第3张

0