Обзор популярных расширений Joomla

Статьи о создании и развитии сайта

Обучающие материалы по верстке HTML\CSS


search

Применение циклов в JavaScript

cycleВ предыдущих статьях были рассмотрены операторы и правила написания кода для JavaScript, но все они выполняют только определенное вычисление. А что если потребуется выполнить многократное повторение некоторого участка кода? Для этого существуют циклы, с помощью которых можно выполнять однотипное действие заданное количество раз. В этой статье будут рассмотрены виды циклов и правила применения циклов в JavaScript, а также директивы, которые расширяют их функции.

Цикл — это определенная последовательность операторов, которая повторяется до тех пор, пока заданное условие не станет ложным. В JavaScript существуют 3 вида циклов: for, while и do...while.

Цикл For

Наиболее часто применяется именно этот цикл, в записях имеет вид:

for (начало; условие; шаг) {
// сам цикл
}
где
  • начало - условие с которого начинается выражение
  • условие - при котором вычисляется заданная запись
  • шаг - период, с которым вычисляется выражение

Пример

for (x=5; x<10; x++) {
alert(x);
}

Результатом будут все значения от 5 (т.к. начало равно 5) и до 10, но не включая 10, т.к. условие строго меньше 10, а также шаг равен 1. Аналогичным образом, если x--, то будет происходить вычитание с шагом 1.

Значение шага можно менять. Например, чтобы установить шаг 5, то будет: x+=5

В этом цикле можно убрать любую составляющую, например, условие. Тогда запись будет иметь вид: for (x=5; ; x++) Результатом будут бесконечный цикл, т.к. для него не существует ограничения. Таким образом можно убрать все составляющие, однако, точки с запятой (;) должны сохраняться.

Цикл While

Этот цикл имеет схожести с предыдущим и имеет вид:

while (условие) {
// код цикла
}

Здесь пока условие соответствует определенному циклу, оно будет выполняться.

Пример

var x = 5;
while (x > 0) {
alert(x);
x--;
}

Результатом будут 5,4,3,2,1... так как в условии задано ограничение до 1, а шаг в коде цикла установлен в обратном порядке. Если в коде цикла будет отсутствовать шаг, то результат будет выводиться бесконечно. Для задания бесконечного цикла можно использовать запись: while(true) { // код цикла }

Цикл do..while

Используется редко, однако имеет право на существование:

do {
// код цикла
} while (условие);

Таким образом, здесь меняется последовательность - сначала выполняется цикл, а потом проверяется условие.

Пример

var x = 5;
do {
alert(x);
x--;
} while( x > 0);

Решение будет аналогичным с циклом While, поэтому его меньше применяют.

 

Управлять циклами можно с помощью специальных директив: break и continue

Директива Continue

Запрещает вывод заданных значений, при этом цикл продолжает выполняться.

Пример

Continue

for (var x=5; x<=20; x++) {
if (x % 4 == false) continue;
alert(x);
}

В результате будут выводиться все значения, кроме тех, которые кратные 4 - это 8,12,16 и 20. А если убрать значение ==false, то результат будет обратный и будут показаны только те значения, которые кратны 4.

Кроме кратности можно запрещать вывод определенного числа: x!=8 == false - исключает вывод 8. Поэкспериментируйте с числами и условиями.

Директива Break

Обеспечивает выход из цикла в заданный момент.

Пример

break

var x=5;
while (true) {
x+=5;
if (x==20) break;
alert(x); }

Таким образом, как только значение достигло 20, цикл прерывается и скрипт завершает свою обработку. Чтобы вывести последний результат, можно в конце после фигурной скобки добавить: alert ('Последняя x = '+ x );

Joomla SEF URLs by Artio

Комментарии

  • Модуль VTEM Panorama

    Дмитрий
    Доброго времни суток! Несовсем догоняю как привязать к joomshoping те для каждого товара должен ...
     
  • Плагин Edocs

    sveta
    после перехода с http на https плагин перестал работать. Меняла все пути, которые возможно, но не ...
     
  • Компонент JoomShopping. Полезности

    Димы
    Ух, шикарно, спасибо. Изменил карточку товара. Цену и кнопку "В корзину" разместил слева от ...
     
  • Эффективные способы продвижения сайта

    Александр
    Спасибо за полезную и интересную информацию. Продвижение сайтов резко приобрело популярность благодаря ...
     
  • Работа с категориями в K2

    Николай
    Подскажите пожалуйста, пользуюсь Serpstat. Комплексный аудит сайта по метатегам (путь:Аудит сайта ...