Создание и использование объекта Function

Объект Function

Функции (см. 4.4.5) создаются в JavaScript с помощью следующего предложения:

function имя-функции (параметр-1, параметр-2, ..., параметр-n)

{

тело-функции

}

Функцию в JavaScript можно также создать как объект типа Function с помощью следующего предложения:

var имя-функции = new Function(параметр-1, параметр-2, ..., параметр-n, тело-функции)

Последним в списке параметров конструктора Function всегда является тело-функции (если функция не имеет параметров, то тело-функции – единственный параметр конструктора).

Объект типа Function можно также создать с помощью прямого вызова функции-конструктора (без ключевого слова new).

И первый, и второй способ создания функции являются равнозначными, однако в первом способе имя функции является константой, а во втором – именем объектной переменной типа Function.

Пример 4.4.57. Создание и использование объекта Function:

// Функция сложения - объект типа Function

addOp = new Function("x", "y", "return x + y;");

// Функция вычитания - определение

function substractOp(x, y)

{

return x - y;

}

// Функция выполнения операций сложения

// и вычитания над двумя операндами

function arithOp(a, operator, b)

{

// Начальное значение переменной-функции

operationFunction = null;

// Если оператор сложения

if(operator == "+")

// Присвоение переменной-функции

// имени функции сложения

operationFunction = addOp;

// Если оператор вычитания

if(operator == "-")

// Присвоение переменной-функции

// имени функции вычитания

operationFunction = substractOp;

// Если неверный оператор

if(operationFunction == null)

// Возврат нечислового значения

return Number.NaN

else

// Вызов переменной-функции

// и возврат результата операции

return operationFunction(a, b);

}

// Присвоение значений операндам

x = 5;

y = 8;

// Вызов функции arithOp для разных операций

z1 = arithOp(x, "+", y);

z2 = arithOp(x, "-", y);

z3 = arithOp(x, "*", y);

// Вывод результатов

alert("z1=" + z1 + " z2=" + z2 +

" z3=" + z3);

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

Вывод фрагмента будет иметь следующий вид:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: