Оператор for является еще одним оператором цикла. Ниже приведен синтаксис его использования:
for (переменные цикла; условие выполнения цикла; набор действий) { оператор_1; оператор_2; оператор_n; }
Ниже приведен небольшой пример использования цикла for:
<script>
function ex3()
{
for (b=0;b<10;b=b+1)
{
window.alert('число равно '+b+' увеличиваем на 1, пока оно не станет равным 9');
}
}
</script>
<form name="">
<input type="submit" value="вызвать цикл FOR"
onclick=ex3()>
</form>
Работа цикла Javascript for() сильно похожа на Javascript while(), с тем лишь отличием, что условие и модификации переменных условия задаются сразу в объявлении цикла.
Пример действительно очень похож на предыдущий, поэтому надеюсь, пояснения не потребуются.
Несмотря на то, что оба оператора очень похожи друг на друга бывают ситуации, когда возможно использование только одного из них, например использование оператора Javascript while() может быть оправдано тогда, когда неизвестно значение входной переменной.
for in() - оператор выборки
Javascript for in() - оператор, позволяющий обходить массивы в поисках определенных символов и выполнять действия при совпадениях.
К примеру данный оператор позволяет заменить все буквы е на ё в массиве, содержащем текстовые данные или заменить все пробелы другим символом разделения и т.д.
Оператор for ... in позволяет делать всевозможные выборки из массивов, объектов и т.д. Идея работы оператора заключается в том, что он способен обнаруживать определенные символы или элементы в теле массивов и объектов и при нахождении выполнять определенные действия.
Приведем пример:
<script>
function ex4()
{
b=0;
for (v in window.document)
{
b=b+1;
document.write(v+"<BR>");
}
window.alert('Всего свойств '+b);
}
</script>
<form name="f4">
<input type="submit" value="показать свойства объекта document"
onclick=ex4()>
</form>
Данная программа производит выборку всех свойств объекта window.document и выводит их на экран при помощи метода document.write.
Использование оператора Javascript for in() позволяет упростить Ваши скрипты. Действительно, программу, приведенную в нашем примере можно организовать множеством других способов, но именно данный метод позволяет сделать скрипт максимально простым и понятным.
Break() - оператор прерывания
Иногда бывают ситуации, когда выполнение цикла должно быть прервано при возникновении определенных условий. В таких ситуациях нам поможет оператор Javascript Break().
Break() позволяет досрочно прервать выполнение тела цикла при исполнении определенного условия. Оператор не скрывает в себе никаких трудностей и у Вас вряд ли возникнут проблемы с его использованием.
Здесь мы рассмотрим интересный пример, который покажет нам еще некоторые особенности грамматики JavaScript:
<script>
function ex5()
{
b=document.f5.f6.value;
while (b>0)
{
if (b>10)
{
window.alert('число '+b+' больше 10 цикл будет прерван');
break;
}
window.alert('число равно '+b);
b=Number(b)+Number(1);
}
}</script>
В принципе пример не содержит особенных трудностей, но здесь все же есть один очень важный и интересный момент, но обо всем по порядку.
Когда функция была вызвана и получила от пользователя число, производится открытие цикла, но только в том случае, если число больше 0. Затем производится проверка числа условием больше 10 и если оно все–таки больше, цикл прекращается при помощи Javascript Break().
Самое интересное начинается, если число меньше 10. В этом случае число начинает увеличиваться на 1 каждую итерацию.
Но как увеличить число на 1 в JS?
Если написать нечто вроде:
b = b + 1;
то обработчик javascript просто соединит текущее значение b и единицу (если b было равно 4, то оно примет значение 41), т.к. в JS "+" является оператором присоединения.
Для того чтобы увеличить значение b на единицу необходимо объяснить обработчику, что мы от него хотим. Нам достаточно указать ему, что над элементами необходимо производить операции, присущие числам, для чего достаточно написать следующий код:
b=Number(b)+Number(1);
Теперь число, содержащееся в переменной b будет корректно увеличиваться на 1.
Как Вы и сами могли убедиться, оператор Javascript Break() может оказаться невероятно полезным при определенных условиях.
continue() - оператор продолжения
Оператор Javascript continue() позволяет получить максимальный контроль над исполняемой программой. Данный оператор позволяет игнорировать блок инструкций, следующих после внутри цикла и инициировать следующую итерацию. В отличие от Javascript Break(), оператор не прерывает функцию полностью, а просто начинает ее с нового цикла.
Javascript continue() - достаточно интересный JS оператор, позволяющий сильно увеличить контроль за выполнением функций.
Идея работы оператора continue() заключается в возможности пропустить все инструкции, следующие внутри блока после самого оператора и начать функцию с новой итерации.
Создадим программу, демонстрирующую возможности этого оператора:
<script>
function ex6()
{
b=document.f7.f8.value;
while (b!=0)
{
if (b>20)
{
window.alert('число '+b+' больше 20 цикл будет продолжен');
b=b – 1;
continue;
}
if (b<20)
{
window.alert('число '+b+' меньше 20 цикл будет прерван');
break;
}
}
}</script>
<form name="f7">
<div align="center">
<input type="text" name="f8" value="введите число">
<input type="submit" value="проверить"
onclick=ex6()>
</div>
</form>
В данном примере мы создаем пользовательскую функцию ex6(), которая проверяет значение, введенное пользователем в поле ввода. Если число больше 20, то оно будет уменьшено на 1 и при помощи Javascript continue() все остальные действия внутри цикла будут пропущены, а цикл начнется заново. Как только число станет меньше или равно 20 - цикл будет прерван при помощи оператора Javascript break().
В данном примере Вы могли самостоятельно убедиться в различных принципах работы операторов continue и break.
Javascript Return() - возвращаем значение
Оператор Javascript Return() позволяет функциям возвращать результат своей работы в виде некоторой переменной, которая может быть использована в теле основной программы.
Данный оператор позволяет функции возвращать результат своей работы обратно в основную программу. Рассмотрим пример:
Данный пример отправляет данные, полученные из формы на обработку, но несмотря на это, возвращает браузеру ошибку, что позволяет незаметно для пользователя отправить данные на сервер. Данный пример использования оператора Javascript Return() может показаться не совсем привычным, поэтому предлагаю Вам посмотреть еще один пример:
<script>
function ex5()
{
f = document.f0.f1.value;
window.alert('введенное число равно '+f+'. Увеличиваем число на 10');
f = Number(f) + Number(10);
return f;
}
function ex6()
{
document.f0.f1.value=ex5();
}
</script>
<form name="f0">
<input type="text" name="f1" value="введите число">
<input type="sumbit" value="проверить" onclick="ex5(); return false;">
</form>
Данный пример прекрасно показывает принцип работы оператора Javascript Return(). Здесь мы с Вами задаем две пользовательские функции: ex5() и ex6(). Причем функция ex5() вызывается из функции ex6().
Мы создаем простую форму, состоящую из поля ввода и кнопки submit. Как только пользователь вводит в поле для ввода число и нажимает на кнопку - управление передается в функцию ex6(), при помощи обработчика OnClick. Внутри функции ex6() находится одна единственная строка кода:
document.f0.f1.value=ex5();
которая означает, что в качестве значения поля ввода нашей формы будет подставлен результат работы функции ex5(). В момент упоминания функции ex5() - начинается ее обработка. Данная функция извлекает число, введенное пользователем в поле ввода и увеличивает его на 10.
Как только число было увеличено, оно возвращается при помощи оператора возврата - Javascript Return(). Т.к. функция, увеличивающая число была вызвана изнутри функции ex6() - подстановка будет совершена в строке:
document.f0.f1.value=ex5();
в месте непосредственного вызова функции и таким образом результат работы функции ex5() станет новым значением для поля ввода.
Также стоит заметить, что строка return false; используется во избежание перезагрузки страницы.
Уважаемые! Нельзя объяснить что-либо посредством неизвестных понятий! Вы пытаетесь объяснить работу оператора выборки FOR ... IN при помощи еще непонятных: for (v in window.document) - что означает этот синтаксис? что такое v? что означает синтаксис [b]document.write(v+"<BR>")[/b]? что такое <BR>? когда ставят символы ('), а когда ("), когда (<>)? Нельзя писать сочинение, не зная АЗБУКИ!
Добавлять комментарии могут только зарегистрированные пользователи.
Новых за месяц: 130 Новых за неделю: 41 Новых вчера: 6 Новых сегодня: 3 Всего: 5499 Из них: Администраторов: 6 $$$-Модераторов: 2 Модераторов: 5 Прокураторов: 5 ----------------- далее: Проверенных: 260 Пользователей: 3034 Новичков: 1884 Заблокированных: 110 ----------------- Из всех пользователей: Мужчин и парней: 4322 Женщин и девушек: 1176