Мои Конспекты
Главная | Обратная связь


Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

Функции



а) Определение функции.

Определение любой функции состоит из заголовка и тела функции.

Заголовок формируется из трех компонентов:

а) ключевого слова function (признак того, что дальше описывается функция).

б) имени функции (выбираются по правилам для идентификаторов),

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

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

function square(number) {

return number * number;

}

Функция может возвращать значение (с помощью оператора return с заданным выражением) или не возвращать ничего (по умолчанию или с оператором return без выражения). В разных ситуациях одна и та же функция может возвращать значения разных типов (динамическая типизация).

б) Вызовы функций.

При загрузке документа создается его объектная модель. Стандартные объекты, входящие в эту модель (window, document, location и др.), имеют свойства и методы. Кроме этого, интерпретатор предлагает встроенные объекты (типа Math, Date и др.), каждый из которых обладает своими методами. Обращение к этим методам должно осуществляться через соответствующие объекты.

Исключение составляет объект window, который по умолчанию подразумевается всегда, когда явно не указан другой объект. Поэтому при обращении к методам объекта window, его можно не указывать. Например, вывод текста во всплывающем окне встроенной функцией alert (методом объекта window) обычно выполняется так:

alert("Привет!");    

Функции, которые программист описывает на глобальном уровне страницы, автоматически становятся методами (правильнее сказать свойствами) объекта window. Поэтому их также можно вызывать без указания объекта (square(5.31); эквивалентно window.square(5.31);).

Использование объекта window по умолчанию создает обманчивое впечатление, что вызваются не методы объекта, а автономные функции. Это не так.

В JS все функции по определению имеют переменное число аргументов. Поэтому соответствие количества формальных и фактических параметров не отслеживается.