Цикл статей «Учебник Javascript».
Следующая статья — «Функциональные выражения в Javascript».
Предыдущая статья — «switch в Javascript».
Функции используются для того, чтобы один и тот же кусок кода использовать в разных местах.
Пример объявления функции:
1 2 3 |
function calc(x, y) { return x*y + x / y; } |
Пример использования функции:
1 2 |
alert(calc(1,2)); alert(calc(34, 56)); |
Здесь calc — это имя функции, а x и y её параметры. После того, как мы объявили функцию мы можем её использовать во всех местах используя синтаксис <имя функции>([<параметры>]). Причём параметров можно передать больше или меньше, чем в объявлении. Лишние параметры не будут использоваться, а не переданные будут равны undefined. Параметры копируются по значению. Внутри функции используются эти копии параметров, а не исходные переменные. Исключение — объекты. Объекты передаются по ссылке. Изменение объекта внутри функции — это изменение первоначального объекта, переданного в функцию.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
var x = 4; func1(x); alert(x); // 4 function func1(c) { c=5; alert(c); // 5 } var x = {v1 : 34}; func2(x); alert(x.v1); // 33 function func2(c) { c.v1 = 33; } |
Место объявление функции не имеет значения. Все функции будут готовы до выполнения первого оператора. Можно объявления функций ставить хоть в конец кода, хоть в начало. Через return возвращается значение из функции. Оператор return завершает выполнение функции и возвращает значение. Весь код функции, что после него выполняться не будет. Можно не указывать оператор return, тогда будет возвращаться undefined.
Все переменные, объявленные с ключевым словом var видны только внутри этой функции. Также внутри функции видны переменные, объявленные через var снаружи этой функции:
1 2 3 4 5 6 |
var x = 3; function func1() { alert(x); } func1(); // выведет 3 |
Если переменную объявить без var, то она становится глобальной переменной. То есть она доступна в любом месте кода, в любой функции.
1 2 3 4 5 6 7 8 9 10 11 12 |
var x = 3; function func1() { y = 4; // без var. Глобальная. Будет видна везде. alert(x); } function func2() { alert(y); } func1(); // выведет 3 func2(); //выведет 4; |
Цикл статей «Учебник Javascript».
Следующая статья — «Функциональные выражения в Javascript».
Предыдущая статья — «switch в Javascript».