Циклы javascript
Всем доброго времени суток. На связи Алексей Гулынин. В данной статье я бы хотел рассказать, что такое циклы в JavaScript. Само определение цикла говорит о том, что это нечто такое, что повторяется определенное количество раз, либо до какого-то определенного условия. Я думаю смысл цикла вам понятен: если мы не хотим писать одно и тоже много раз — это нужно заключать в цикл. В JavaScript существуют следующие виды циклов:
- Итерационный цикл: for (i=0;i<n;i++) {}
- Цикл с предусловием: while () {}
- Цикл с постусловием: do {} while()
Давайте разберем работу всех трех циклов на примере создания факториала числа. Для тех, кто не знает, факториал числа — это число, равное произведению всех предыдущих чисел, начиная с единицы (факториал 2 = 1 *2 = 2, факториал 3 = 1 * 2 * 3 = 6).
Будем запрашивать число (факториал которого нужно посчитать) у пользователя с помощью функции prompt(). Давайте перейдём к написанию циклов в JavaScript, заодно повторим создание функций в JavaScript:
1) Итерационный цикл в JavaScript
<script type="text/javascript"> function fact_iter(a) { var result = 1; for (i = 1; i <= a; i++) {result = result * i;} document.write(result); } </script>
Итерационный цикл обычно используется тогда, когда число итераций заранее известно. Если число итераций заранее неизвестно, то используют другие виды циклов.
2) Цикл с предусловием в JavaScript
<script type="text/javascript"> function fact_pred(a) { var result = 1; var i = 1; while (i <= a) { result = result * i; i++; } document.write(result); } </script>
Особенность цикла с предусловием в том, что он может не выполниться ни один раз, если условие сразу окажется ложным.
3) Цикл с постусловием в JavaScript
<script type="text/javascript"> function fact_post(a) { var result = 1; var i = 1; do { result = result * i; i++; } while (i <= a) document.write(result); } </script>
Особенность цикла с постусловием в том, что он обязательно выполниться хотя бы один раз.
Давайте теперь протестируем работу всех трех функций и убедимся, что результат будет везде одинаковым:
<script type="text/javascript"> var fact = prompt("Введите число","..."); fact_iter(fact); fact_pred(fact); fact_post(fact); </script>
Домашнее задание: необходимо протестировать работу всех трех функций, проверить, что результат получается действительно одинаковым. Также добавить проверку, что факториал нуля равен единице.
Напоследок, коротко об операторах break и continue:
Оператор break в Javascript используется тогда, когда необходимо досрочно выйти из цикла. Самый простейший пример:
<script type="text/javascript"> for (i = 1;i < 10; i++) { if (i == 6) break; document.write(i); } </script>
В данном случае будут выведены числа от 1 до 5.
Оператор continue используется тогда, когда необходимо досрочно перейти к следующей итерации цикла. Также простой пример:
<script type="text/javascript"> for (i = 1;i < 10; i++) { if (i == 6) continue; document.write(i); } </script>
В данном случае будут выведены числа от 1 до 10, кроме числа 6.
В данной статье вы узнали, что такое циклы в JavaScript, узнали об операторах break и continue.
На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.