4. Основы JavaScript
4.12. Функции
Функции – это базовые элементы любого языка, с помощью которых можно инкапсулировать группы инструкций и в любое время выполнять их в других местах кода. В ECMAScript для объявления функции используется ключевое слово function, за которым следуют аргументы и тело функции:
function имяФункции (арг0, apr1, aprN) {
Пример функции:
function sayHi (name, message) {
После определения функции ее можно вызывать по имени, указывая в скобках после него аргументы, разделенные запятыми. Например, функция sayHi () вызывается так: sayHi ("Николай", "Как дела?");
В результате в окне оповещения будет выведена строка "Здравствуйте Николай, Как дела?", составленная из приветствия и аргументов name и message. Для функций в ECMAScript можно не указывать, возвращают ли они значения. Из любой функции можно возвратить значение в любое время с помощью инструкции return, например:
function sum (num1, num2) {
Эта функция суммирует два значения и возвращает результат. Обратите внимание, что кроме инструкции return нет никакого специального объявления о том, что функция возвращает значение. Эту функцию можно вызвать следующим образом: var result = sum (5, 10);
Помните, что при достижении инструкции return функция сразу завершается. Никакой код после return никогда не выполняется, например:
function sum(num1, num2) {
В этом примере оповещение никогда не появится, потому что вызов alert расположен после return. Функция может содержать несколько инструкций return:
function diff (num1, num2) {
Эта функция находит разность двух чисел. Если первое число меньше, оно вычитается из второго, в противном случае второе число вычитается из первого. Каждая ветвь кода содержит отдельную инструкцию return с правильным выражением. Инструкцию return можно также использовать без указания возвращаемого значения. В этом случае функция немедленно завершается, возвращая значение undefined. Это обычно делается для преждевременного завершения функций, которые не возвращают значение. В следующем примере оповещение не выводится:
function sayHi (name, message) {
Рекомендуется либо возвращать значение из функции всегда, либо не возвращать никогда. Функцию, которая возвращает значение иногда, труднее понять, особенно на этапе отладки. |
||