Существует два вида использования этой конструкции:
объявление функции
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):
Каждую минуту в интернете регистрируется порядка 70-80 сайтов (т.е. покупаются домены). Такими темпами скоро имен для сайтов не останется или придется вводить новую доменную зону.