В JavaScript что делает для (;;) {...}? - PullRequest
0 голосов
/ 05 февраля 2011

Я видел это в некотором коде JavaScript, но не понимаю, что он делает.

for(;;){

  //other code

}

Я привык к формату for(i=0;i<someLength;i++){...}, но застрял, чтобы выяснить, как или для чего используется синтаксис "(;;)"?

Ответы [ 5 ]

3 голосов
/ 05 февраля 2011

for (;;) - точно такой же синтаксис. Вам разрешено оставлять части, которые идут между точками с запятой, даже все из них. Если вы пропустите условие, оно будет true, что приведет к бесконечному циклу. Конечно, вы все равно можете выйти с помощью break или return или еще чего-нибудь, что делает его бесполезным.

3 голосов
/ 05 февраля 2011

В JavaScript for (;;) { ... } просто создает бесконечный бесконечный цикл, который почти такой же, как:

while (true) {
    // ...
}

или

do {
    // ...
} while (true);
2 голосов
/ 05 февраля 2011

Создает цикл, который работает бесконечно.Это тот же синтаксис, который вы привыкли видеть, между точками с запятой просто нет кода.

Синтаксис для цикла for включает инициализатор, затем точку с запятой, за которой следует условие продолжения циклаза ним следует точка с запятой, за которой следует код, запускаемый после каждой итерации цикла.

Поскольку инициализатор отсутствует, нет условия, которое когда-либо оценивается как ложное, и кода после цикла, цикл выполняется вечно.

1 голос
/ 05 февраля 2011

Это бесконечный цикл. Цикл for имеет 3 раздела, разделенных ;: раздел инициализации, где вы обычно объявляете и определяете условия запуска вашего счетчика, средний условный оператор, который оценивается как true или false, и раздел приращения. *

Все 3 из этих разделов являются необязательными. Вы можете включить любой или ни одного. Цикл продолжает цикл до тех пор, пока условие не станет равным false. Если это условие никогда не выполняется (так как оно было опущено), оно зацикливается навсегда.

Место, где вы, вероятно, увидите, что оно предшествует данным JSON, как описано в этом сообщении .

0 голосов
/ 05 февраля 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...