Язык JavaScript
Оператор цикла for позволит вам выполнить какое-либо выражение (простое или составное) нужное количество раз, т. е. организовать цикл со счетчиком. При этом на каждом проходе цикла содержимое переменной-счетчика будет сравниваться с конечным значением, и если оно его превышает, цикл немедленно завершается. В противном случае содержимое счетчика увеличивается или уменьшается на единицу, и выполняется новый проход цикла.
Рассмотрим применение оператора for на примере.
for
(i
=
1
; i
<
101
; i
+
+
) {
a
=
a
*
i;
b
=
b
+
i;
}
Первая строка сообщает интерпретатору JavaScript следующее:
- переменная i будет использоваться в качестве счетчика цикла, т. е. в ней будет находиться значение количества уже выполненных проходов цикла;
- начальное значение счетчика – 1 (i =1);
- конечное значение счетчика – 100, т. е. повторять цикл нужно, пока содержимое счетчика i остается меньше 101 (i < 101);
- при каждом проходе цикла нужно будет увеличивать значение счетчика на единицу (i++; оператор ++ указывает увеличить значение какой-либо переменной на единицу, другими словами, инкрементировать, и поместить его в ту же переменную). (Оператор ++ называется оператором инкремента.)
В результате выполнения приведенного выше выражения в переменной а будет находиться факториал от 100, а в переменной b – сумма от 1 до 100.
Кроме цикла со счетчиком, в JavaScript можно организовать и циклы без счетчика, так называемые циклы с условием. Они выполняются до тех пор, пока остается истинным какое-либо условие. Это циклы do-while и while.
Сначала рассмотрим цикл do-while.
do
{
a
=
a
*
i
+
2
;
i
=
+
+
i;
}
while
(a
<
100
);
Этот цикл будет выполняться, пока значение переменной а остается меньше 100. Заметьте, что условие проверяется после прохода цикла, поэтому этот цикл выполнится хотя бы один раз, даже если условие будет изначально ложно.
В цикле while условие проверяется перед проходом цикла, поэтому, если условие изначально ложно, цикл не выполнится ни разу.
while
(a
<
100
) {
a
=
a
*
i
+
2
;
i
=
+
+
i;
}
Оператор завершения break немедленно завершает цикл, а оператор продолжения continue – продолжает цикл, т. е. прекращает выполнение текущего прохода и начинает выполнение следующего (конечно, если условие завершения цикла это допускает).
while
(a
<
100
) {
i
=
+
+
i;
if
(i
>
50
)
break
;
if
(i
<
5
)
continue
;
a
=
a
*
i
+
2
;
}
Попробуйте сами разобраться, как работает вышеприведенный пример.
Если вам нужно выполнять в нескольких местах программы один и тот же фрагмент кода с разными числовыми значениями, вы можете создать на его основе функцию. Функция – это фрагмент кода, оформленный особым образом, который может быть вызван из различных мест программы и из других функций. Функция может принимать любое количество параметров и возвращать один результат, который может быть использован в дальнейших вычислениях.
Давайте рассмотрим небольшой пример функции, увеличивающей переданное ей значение на два и возвращающей результат.
function
valuePlus2(v) {
var
c;
c
=
v
+
2
;
return
c;
}
Автор назвал нашу функцию valuePlus2 и передал ей единственный параметр v (см. в скобках после имени функции). Код, находящийся внутри функции, сначала объявляет локальную переменную с, "видимую" только внутри этой функции (вызвавшая функцию программа не сможет к ней обратиться). Далее этой переменной присваивается сумма значения переданного параметра v и 2. Последний оператор возвращает результат вызвавшей функцию программе (return – оператор возврата значения).
Как можно использовать полученную функцию? Например, так:
h
=
d
+
valuePlus2(r);
Здесь мы передаем функции vaiuePlus2 значение г и используем возвращенный результат в выражении. В частности, мы складываем его сам присваиваем результат п.
Кстати, нашу функцию можно было написать значительно короче и оптимальнее. (Да, и здесь оптимизация!)
function
valuePlus2(v) {
return
v
+
2
;
}
Опытные программисты так и пишут. Во-первых, код становится проще и "прозрачнее". Во-вторых, что еще важнее, код становится меньше и быстрее.
Функция может и не принимать параметров:
function
someFunc1() {
return
2
+
2
;
}
Функции могут вызывать друг друга:
function
valuePlus3(v) {
return
valuePlus2(v)
+
1
;
}
На этом краткий курс основ языка JavaScript подошел к концу. Нам осталось рассмотреть только объекты.