Javascript 无限循环

Javascript Infinite For Loop

我正在学习 javascript 中的循环并尝试一些我编写了以下基本代码的东西。

此代码生成一个无限循环,只在控制台无限期地打印数字 4。

问题是我不明白这背后的逻辑以及它发生的确切原因

for(let i = 0; i = 4; i++){
   console.log(i);
}

i = 4 是一个表达式,它会 return 4 并且 4 是真实值,因此条件永远不会为假并且循环永远不会结束

console.log(i=4); //4
console.log(Boolean(i=4)); //true
你应该使用小于运算符

for(let i = 0; i <= 4; i++){
   console.log(i);
}

在您的循环中,条件部分使用 assignment operator =, you should use a comparison operator,例如 !==。另请注意,条件应为假才能退出 for 循环。所以 !== 是(或 <=,出于个人原因我不喜欢),而不是 ===

for(let i = 0; i !== 4; i++){
   console.log(i);
}

所以你的代码会无限期地运行,因为 i = 4truthy。它打印 4 因为 i = 4 将 4 分配给 i after increment