Показать сообщение отдельно
  #15 (permalink)  
Старый 23.05.2013, 13:42
Интересующийся
Отправить личное сообщение для ed-210 Посмотреть профиль Найти все сообщения от ed-210
 
Регистрация: 22.05.2013
Сообщений: 14

Ну это, как бы, не плохо выглядит, но есть просто 1 момент, связанный с выбором while вида конструкции цикла.

Просто в JavaScript есть, насколько мне известно, 3 основных вида конструкций циклов: while, do ... while и for, из которых каждый заточен под определенную логику работы.

Так вот, цикл while изначально удобен для выполнения 0 или бесконечно неограниченное количество итераций, хотя и должен рано ли поздно прерываться каким-либо доступным образом: либо состоянием false значения в скобках (), либо инструкцией break или continue внутри {}.

Цикл do ... while изначально удобен для выполнения 1 или бесконечно неограниченное количество итераций, где все остальное можно взять из написанного про цикл while...

А вот, цикл for изначально удобен для отрабатывания от 1 и до четко известного X количества раз, не больше и не меньше хотя остается возможность досрочно прервать и завершить текущую итерацию с помощью инструкций break или continue, поместив их внутрь {} конструкции for. Цикл заканчивает свою работу по состоянию false значения или выражения, которое должно стоять на 2-м месте после ; внутри () цикла, т.е. for('что-то, что надо сделать перед началом цикла'; 'значение или выражение интерпретируемое как true или false'; 'что-то, что надо сделать последним в конце любой итерации цикла').
Таким образом, удобнее и логичнее использовать конструкцию for(var a=0; a < colors.length; a++){} чем: var a=0;while(a < colors.length){... a++;}, хотя, в целом, обе такие конструкции и работают в данном случае одинаково.

Вот как-то так вот

Последний раз редактировалось ed-210, 23.05.2013 в 13:51.
Ответить с цитированием