Оглавление

11.1. Основные понятия

Функция должна иметь уникальное имя. Для имен действуют такие же правила, что и при указании имени переменной. Для наглядности все имена функций в этой книге начинаются с f_.
После имени функции в круглых скобках можно указать один или несколько параметров через запятую. Параметров может вообще не быть. В этом случае указываются только круглые скобки.
Между фигурными скобками располагаются выражения JavaScript. Кроме того, функция может возвращать значение в место вызова функции. Возвращаемое значение задается с помощью ключевого слова return.


Пример функции без параметров:

  function f_Alert_OK() {
     window.alert("Сообщение при удачно выполненной операции");
  }

Пример функции с параметром:

  function f_Alert(msg) {
     window.alert(msg);
  }

Пример функции с параметрами, возвращающей сумму двух переменных:

  function f_Sum(x, y) {
     var z = x + y;
     return z;
  }

В качестве возвращаемого значения в конструкции return можно указывать не только имя переменной, но и выражение:

  function f_Sum(x, y) {
     return (x + y);
  }

В программе функции можно вызвать следующим образом:

  f_Alert_OK();
  f_Alert("Сообщение");
  Var1 = f_Sum(5, 2); // Переменной Var1 будет присвоено значение 7

Выражения, указанные после return <значение>;, никогда не будут выполнены:

  function f_Sum(x, y) {
     return (x + y);
     window.alert("Сообщение"); // Это выражение никогда не будет выполнено
  }

Имя переменной, передающей значение функции, может не совпадать с именем переменной внутри функции:

  function f_Sum(x, y) {
     return (x + y);
  }
  var Var3, Var1 = 5;
  var Var2 = 2;
  Var3 = f_Sum (Var1, Var2);

Ссылку на функцию можно сохранить в какой-либо переменной. Для этого название функции указывается без круглых скобок:

  function test() {
     window.alert("Это функция test()");
  }
  var x;
  x = test; // Присваиваем ссылку на функцию
  x(); // Вызываем функцию test() через переменную x

Кроме того, функция может вообще не иметь названия. В этом случае ссылку на анонимную функцию сохраняют в переменной:

  var x = function() { // Присваиваем ссылку на анонимную функцию
     window.alert("Сообщение");
  };
  x(); // Вызываем анонимную функцию через переменную x

Ссылку на вложенную функцию можно вернуть в качестве значения в инструкции return. Чтобы вызвать вложенную функцию, круглые скобки указываются два раза:

  var x = function() { // Присваиваем ссылку на анонимную функцию
     return function() { // Возвращаем ссылку на вложенную функцию
        window.alert("Это вложенная функция");
     };
  };
  x()(); // Вызываем вложенную функцию через переменную x
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити