for循环通过初始化、条件判断和更新三部分控制计数器变量,实现精确迭代;标准格式为for(let i=0; i<n; i++),支持递减(i--)和步长调整(i+=2)。

JavaScript 中循环体通过计数器变量控制终止条件,核心在于:在循环开始前初始化计数器,在每次迭代后更新它,并在循环条件中用它与目标值比较来决定是否继续执行。
for 循环中的标准用法
这是最典型、最清晰的写法。计数器(如 i)在初始化部分定义,在条件判断中参与比较,在更新表达式中递增或递减。
- 格式:
for (let i = 0; i - i = 0 是初始化,设定起始值
- i 是终止条件,每次循环前检查,不满足则退出
- i++ 是更新操作,确保计数器变化,避免死循环
while 循环中手动管理计数器
while 不自带计数器机制,需在循环体外初始化、体内更新,并在条件中显式判断。
- 必须先声明并赋初值:
let i = 0; - while 条件只写判断逻辑:
while (i - 循环体内必须包含更新语句:
i++或i += 2等,否则会无限执行 - 常见错误:忘记更新计数器,或更新位置错误(比如写在 break 后面)
do...while 循环的特殊性
该循环至少执行一次,计数器更新仍需放在循环体内,但终止条件在末尾检查。
立即学习“Java免费学习笔记(深入)”;
- 结构:
let i = 0; do { ... i++; } while (i - 注意:条件判断在循环体执行之后,所以即使初始值已不满足条件,也会运行一次
- 适合“先执行、再判断”的场景,比如用户输入验证
计数器的灵活使用技巧
计数器不只能从 0 开始递增,也可以倒序、跳步或关联其他逻辑。
- 倒序遍历:
for (let i = 10; i >= 0; i--) {...} - 步长为 2:
for (let i = 0; i - 结合数组长度:
for (let i = 0; i ,此时 <strong>arr.length</strong> 是动态终止边界 - 避免在循环中修改数组长度(如 push/pop),否则可能跳过元素或重复处理


















