Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему в таком цикле for(var i=length;i--;) декремент не уйдёт ниже нуля? (https://javascript.ru/forum/misc/55198-pochemu-v-takom-cikle-var-i%3Dlength%3Bi-%3B-dekrement-ne-ujjdjot-nizhe-nulya.html)

Momon 17.04.2015 11:08

Почему в таком цикле for(var i=length;i--;) декремент не уйдёт ниже нуля?
 
Это какой то хак или стандарт?
Если length больше 0, тогда упрётся в 0
Если length = 0, тогда вообще не запустится
А если length = -1, тогда будет чесать в минус бесконечность
http://jsfiddle.net/b8t0h74q/

laimas 17.04.2015 11:17

Это не стандарт, а выполнять пока i истинно (true), 0 = false.

Momon 17.04.2015 12:13

laimas,
Точно, я сразу и не допёр. -1 это уже true, а false только ноль


Часовой пояс GMT +3, время: 22:54.