Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Оператор ,


Автор: Ground 10.7.2006, 14:50
Прочитал недавно об операторе , (запятая). Этот оператор используют в циклах и он позволяет при каждом прохождении цикла то одно выражение инкремента, то другое.
Вот я написал скрипт с этим оператором:
Код

var a=0,i=0,j=0;

for (i=0; j<5; i++, j++) 
    {a++}

alert(a);


По идее (и определению оператора ,) цикл должен выполниться 10 раз и следовательно в переменной "a", должно быть значение 10. Но в этой переменной - значение 5. 
Подскажите в чем проблема??? 

Автор: Sardar 10.7.2006, 15:30
Цитата(Ground @  10.7.2006,  13:50 Найти цитируемый пост)
По идее (и определению оператора ,) 

Это ты где такую ересь прочитал? smile
Оператор запятая используеться для групировки нескольких выражений в одно выражение, при этом результатом будет последнее выражение. 

Автор: skyboy 10.7.2006, 15:59
... то есть оба выражения выполняются при каждой итерации, а не поочерёдно. 
Вывод: меняй источник информации на более вменяемый адекватный 

Автор: 12345c 10.7.2006, 17:46
Что вы дезориентируете человека? :) Всё правильно, "," есть оператор последовательного выполнения, это не отменяет высказывания Sardar-а. Выполняется действительно "i++, j++" каждый раз при новом проходе обе инкрементации.

Добавлено @ 17:49 
Цитата(Ground @  10.7.2006,  14:50 Найти цитируемый пост)
и он позволяет при каждом прохождении цикла то одно выражение инкремента, то другое
а это, наверное, неправильная интерпретация прочитанного, такого нет :)

Автор: Ground 11.7.2006, 04:40
Это цитата из книги... 

Автор: 12345c 11.7.2006, 19:41
Тогда ого... 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)