function

Объявить функцию

Синтаксис

function name([param_1] [, param_2] [..., param_n]) {
   statements
}

Аргументы

name
Имя функции
param_1, param_2, ..., param_n
Названия параметров
statements
Тело функции

Описание, примеры

Существует два вида использования этой конструкции:

объявление функции
function func(a) { ... }
присвоение анонимной функции
var func = function(a) { ...}

Их отличие - в области видимости. Присвоенная анонимная функция видна с момента присвоения, а объявленная явно - везде:

Пример: видимость функций
Выделить все
// функции определены ниже
 
alert(decl) // функция видна, все ок
 
 
alert(anon) // функция еще не определена - ошибка
 
// сами функции 
function decl(a) { }
var anon = function(a) { }

Функция, объявленная внутри другой функции, видит переменные внешней функции. Они доступны ей даже тогда, когда родительская функция завершила исполнение. Это называется замыканием.

Значение возвращается оператором return. Функции без return или с return без значения возвращают undefined.

В теле функции доступна специальная переменная arguments, которая содержит параметры и ссылку на объект, представляющий собой текущую функцию (в javascript функции - объекты класса Function):

Пример: arguments
Выделить все
// Вызов
func(5)
 
// Выведет
function func(a,b) {
  alert(arguments.length)  // 1
  alert(arguments[0])  // 5
  alert(arguments[1])  // undefined
  alert(arguments.callee) // ссылка на функцию func
}

См. также