Основы программирования на JavaScript | страница 12
Говоря более простым языком, цикл for делает следующее:
1 задает i равным 0;
2 проверяет, что i меньше radios.length, которое равно 6;
3 если это справедливо (true), выполняет код в цикле for;
4 после выполнения кода в цикле for добавляет 1 к переменной i;
5 переходит к шагу 2, пока выполняется условие i
Существует другой тип цикла, который сейчас будет рассмотрен, - так называемый цикл while. Следующий код делает то же самое, что и предыдущий цикл:
var i=0;
while(i
if(radios[i].checked) return true;
i++;
}
alert('Вы должны выбрать цвет!');
return false; Можно видеть, что здесь в цикле while присутствуют точно те же 3 фрагмента кода, которые имелись в цикле for: "var i=0 ", "i
i чем-то отличается от того, что было написано раньше. Эта проверка происходит в скобках сразу после while. Переменные инициализируются перед циклом while, а увеличение i, i++, происходит внутри цикла. В этих циклах осталось объяснить еще одну вещь: if(radios[i].checked). Переменная radios содержит массив радио-кнопок с именем color. Массивы будут рассмотрены в следующей лекции, а здесь дадим упрощенное объяснение: radios[0] возвращает первую радио-кнопку, radios[1] возвращает вторую, radios[2] - третью, и т.д. до radios[5], который возвращает шестую кнопку. Если кнопок будет больше, например, 100, то radios[99] будет обращаться к 100-ой радио-кнопке. Все эти числа могут показаться странными. Почему radios[5] обращается к шестой радио-кнопке? В JavaScript, как и во многих других языках программирования, многие вещи начинаются с числа 0, а не с 1. Это просто один из таких случаев, но это встретится еще не раз. Поэтому 0 является в действительности первым элементом, 1 - вторым, и т.д. В форме осталось проверить еще ввод адреса e-mail. Это в действительности достаточно сложное для проверки поле, и правильная ее реализация выходит за рамки того, что изучается в этой лекции, но можно выполнить некоторую базовую проверку. Что нужно сделать? Мы знаем, что любой адрес e-mail должен содержать один и только один символ @. Он должен также содержать по крайней мере одну точку после символа @ (точка отделяет имя домена от домена верхнего уровня, например, "intuit.ru ").
function validateForm(){