Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt_Kursa_JavaScript.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Объект Function

Любая функция в JavaScript является объектом типа Function. Создать функцию можно не только конструкцией function, но и с помощью конструктора Function:

var имя_функции = new Function([argname1, [... argnameN,]] тело_функции)

Все параметры являются строками. Сначала определяется список формальных параметров, а потом строка, содержащая операторы тела функции.

Пример задания функции с одним числовым параметром, возвращающей произведение этого числа на число π:

var nPI = new Function("n",

"if(typeof n != 'number'){l=null}else{l= n*Math.PI};return l;");

// вызов объявленной функции nPI

nPI(56);

В JavaScript часто используется тот факт, что функция является объектом. Если вспомнить вызов метода сортировки массива, то, по-существу, параметром в нем является ссылка на функцию. Так что избегайте записывать вызов функции (или метода объекта) без круглых скобок. В JavaScript запись "вызова" функции без круглых скобок не является синтаксической ошибкой, но всего лишь ссылка на объект Function, которая часто используется для задания функции обработки событий объектов, соответствующих элементам HTML отображаемого в браузере документа.

Свойства объекта Function

аrguments

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

caller

Возвращает ссылку на объект Function, представляющий функцию, вызвавшую исходную. Если свойство имеет значение null, то функция вызвана из верхнего уровня сценария, а не из другой функции.

callee

Возвращает ссылку на саму себя. Является свойством объекта arguments функции, а не самой функции.

length

Возвращает количество обязательных параметров, которые следует передавать в функцию при ее вызове, т. е. тех параметров, которые определены в объявлении функции.

Все свойства объекта Function становятся доступными только тогда, когда функция, определяемая этим объектом, выполняется. Поэтому доступ к ним возможен только из тела функции.

Следующая функция проверяет количество переданных в нее при вызове фактических параметров и возвращает строку, содержащую требуемое количество обязательных параметров и количество фактически параметров было в нее передано.

function ArgTest(a, b){

var i, s = "Обязательных параметров ";

var numargs = ArgTest.arguments.length;

var expargs = ArgTest.length;

s += expargs + ". Передано " + numargs + ".";

return(s);

}

Объект Boolean

Является объектным интерфейсом для типа данных Boolean. Создается неявным образом, когда булевый тип преобразуется к объекту, но может быть создан явно с помощью конструктора Boolean():

var b = new Boolean([параметр]);

В случае отсутствия параметра, или если он равен 0, NaN, false, null или пустой строке "", значение объекта есть ложь, иначе истина.

Объект Boolean используется достаточно редко.