Сообщение от SunYang
|
Так как писать то? через запятую или &&?
типа for( var i=0 && j=0 ; i < 10 && j < 2 ; ++i && ++j ) {...} ??
Спасибо.
|
Если ты пишешь несколько операторов (операндов, функций, etc.) через запятую, то они будут выполнены последовательно один за другим, а в качестве результата выражения будет возвращено значение последнего оператора.
Т.е., например:
1, 2, 3
равно трём,
true, false
равно false,
i < 10, j < 2
равно true тогда и только тогда, когда j < 2 (каково значение i - по барабану).
А бинарный оператор && выполняет операцию "И" над своими операндами и возвращает полученный результат.
Т.е., например,
true && true
равно true, а
true && false
равно false, кстати
false && true
тоже равно false.
Вот. Теперь по поводу инструкции for. В ней есть три секции, разделённые точкой с запятой.
В первой секции производится инициализация перед началом выполнения цикла. В твоём случае объявляем в нём несколько переменных. Никакое значение выражения в этой секции не используется. Посему, переменные можем определить через запятую.
Во второй секции пишется условие. Если оно истинно (true), цикл будет выолнять очередную итерацию. В противном случае - программа пойдёт выполнятся дальше (после блока операторов цикла). Т.к. тебе нужно проверить истинность нескольких условий, то разделить их нужно оператором &&.
Операторы (если есть) в третье секции исполняются каждый раз после очередной итерации цикла. Например, можно инкрементировать в ней переменные. Как и в первой секции, значение выражения не используется, нам нужно лишь выполнить подряд несколько операторов, посему перечисляем их через запятую.