In JavaScript what does for(;;){…} do?

偶尔善良 提交于 2021-01-20 12:20:58

问题


I've seen this in some JavaScript code but I don't get what it does.

for(;;){

  //other code

}

I'm used to the for(i=0;i<someLength;i++){...} format but I'm stuck to figure out how or what the "(;;)" syntax is for?


回答1:


In JavaScript, for (;;) { ... } just creates an infinite endless loop, which is almost exactly the same as:

while (true) {
    // ...
}

or

do {
    // ...
} while (true);



回答2:


for (;;) is the exact same syntax. You're allowed to leave out parts that go between the semicolons, even all of them. If you leave the condition out, it's assumed to be true, so it results in an infinite loop. You can of course still exit with break or return or whatnot, hence making it not useless.




回答3:


It creates a loop that runs indefinitely. It's the same syntax you're used to seeing, there's just no code between the semicolons.

The syntax for a for loop includes an initializer, followed by a semicolon, followed by a condition for continuing the loop, followed by a semicolon, followed by code to run after each iteration of the loop.

Since there is no initializer, no condition that ever evaluates to false, and no post-loop code, the loop runs forever.




回答4:


That's an infinite loop. A for loop has 3 sections separated by ;: the initialization section where you normally declare and define your counter's starting conditions, the middle conditional statement that evaluates to true or false, and the increment section.

All 3 of these sections are optional. You can include any or none. The loop continues to loop until the conditional is false. If that condition is never met (since it was left out), it loops forever.

A place where you'll likely see it is prepended to JSON data as described by this SO post.




回答5:


always true https://developer.mozilla.org/en/JavaScript/Reference/Statements/for



来源:https://stackoverflow.com/questions/4904880/in-javascript-what-does-for-do

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!