Может ли кто-нибудь объяснить мне синтаксис цикла типа "for (;;)"

Может ли кто-нибудь объяснить мне синтаксис for-loop нравиться "for (;;)" мне нужно знать, является ли заголовок for-loop нравиться "for (;;)" имеет empty-statements или не.

Я искал спецификацию ECMAScript о том, что произойдет, если все необязательные выражения вfor-loop's заголовок пропускается как for (;;) в спецификации, но я все еще не нашел об этом

может кто-нибудь объяснить мне об этом, даже если в спецификации не упоминается, что for-loop нравиться for (;;) циклы / запускаются бесконечное количество раз

и мне нужно знать еще одну вещь, почему люди называют заголовок for-loop имеет Expression's я вижу, что синтаксис цикла for позволяет нам писать объявления вроде var i = 0 in the header of the for-loop и я вижу for-loops синтаксис позволяет нам писать semicolons ; в его заголовке только утверждения требуют semicolons означает ли это весь синтаксис внутри for-loop's заголовок имеет Statements

1 ответ

Решение

В стандарте для определения цикла это будет выглядеть следующим образом:

for (var i = 0; i < 5; i++)
{

   //Do something here

}

У вас есть ваше утверждение, определяющее i как 0 (var i = 0). Затем существует условие / выражение, которое цикл for проверяет каждый раз при запуске, которое в этом примере проверяет, что i меньше 5 (i < 5).

Итак, чтобы ответить на первую часть вашего вопроса, когда вы определяете цикл for как for(;;), вы просто определяете цикл без условия, которое должно быть выполнено. Следовательно, он продолжает работать / зацикливаться вечно. Это можно сделать, потому что все части определения цикла for необязательны. Итак, нет "empty-statements". Это просто определение цикла for без необязательных аргументов. Вместо этого мы заполняем его точками с запятой, чтобы представить переход между пустыми аргументами.

Другие вопросы по тегам