- •Часть I. Язык сценариев JavaScript 3
- •Часть II. Среда клиента 73
- •Часть III. Динамический html 95
- •Клиентское Web-программирование
- •Часть I. Язык сценариев JavaScript Урок 1. Модель клиент-сервер в Интернете Распределенные системы и приложения
- •Http-запрос
- •Http-ответ
- •Урок 2. Сценарии JavaScript в документах html Языки сценариев
- •Язык JavaScript
- •Основные положения синтаксиса
- •Размещение операторов языка на странице
- •Упражнения
- •Урок 3. Переменные и литералы
- •Числовой тип
- •Строковый тип
- •Булевый тип
- •Специальные типы данных
- •Переменные
- •Определение типа переменной
- •Упражнения
- •Урок 4. Выражения и операции
- •Арифметические операции
- •Логические выражения
- •Строковые операции
- •Комбинированные операции присваивания
- •Условная операция
- •Приоритет операций
- •Упражнения
- •Урок 5. Операторы
- •Операторы выбора
- •Операторы цикла
- •Упражнения
- •Урок 6. Функции
- •Упражнения
- •Урок 7. Встроенные объекты (1)
- •Объект Array
- •Объект Date
- •Объект Math
- •Объект String
- •Объект Function
- •Объект Boolean
- •Объект Number
- •Упражнения
- •Урок 8 Встроенные объекты (2) Объект Object
- •Стандартные функции верхнего уровня (объект Global)
- •Манипулирование объектами
- •Обработка ошибок
- •Упражнения
- •Урок 9. Создание собственных объектов
- •Упражнения
- •Часть II. Среда клиента Урок 10. Объектная модель ms Internet Explorer
- •Объект window
- •Объект navigator
- •Объект location
- •Объект history
- •Упражнения
- •Урок 11. Объекты доступа к странице и ее элементам Объект document
- •Объект body
- •Объект form
- •Упражнения
- •Урок 12. Обработка событий в ms Internet Explorer Обработчики событий
- •Вызов процедуры обработки события
- •Событийная модель
- •Объект event (ie)
- •Упражнения
- •Часть III. Динамический html Урок 13. Объектная модель документа dhtml
- •Структура документа
- •Иерархия объектов
- •Свойства и методы объектов
- •Упражнения
- •Урок 14. Примеры динамических страниц html Раскрывающийся список
- •Движущийся элемент
- •Динамическое изменение таблиц
- •Родственные отношения
- •Упражнения
- •Урок 15. Объектная модель документа dom
- •Узлы объектной модели dom
- •Перемещение по объектной модели
- •Изменение объектной модели документа
- •Упражнения
Объект 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 используется достаточно редко.
