Javascript for循环丢失中间部分:错误或高级?

tim*_*kay 8 javascript for-loop

我正在为工作中的项目调试另一个开发人员的Javascript.

在一个美好的一天,我可能是一个中级Javascript开发人员,我遇到了一个看起来很糟糕的for循环:

for(i = 0; ; i++)
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我这是否确实是一个错误,或者在某些情况下,这是一个完全有效的方法来做高级的事情?

jfr*_*d00 4

没关系,而且完全合法。语句中的三个槽中的任何一个都for可以留空。除了我添加的条件之外,它在逻辑上与此相同:

i = 0;
while (true) {
    // other code here
    if (some condition) {
        break;
    }
    i++;
}
Run Code Online (Sandbox Code Playgroud)

这将是一个无限循环,除非循环中某处有一个测试break在某些条件下发出一条语句来停止循环(我在代码示例中添加了一个示例测试)。