Функции JavaScript определяются с function ключевого слова.
Вы можете использовать объявление функции или выражение функции.
Функциональные декларации
Ранее в этом учебнике вы узнали , что функции объявлены со следующим синтаксисом:
function functionName ( parameters ) {
code to be executed
}
Заявленные функции не выполняются немедленно. Они "сохранены для последующего использования", и будет выполнена позже, когда они вызываются (призваны).
Точка с запятой используются для разделения исполняемые операторы JavaScript.
Так как объявление функции не является исполняемым оператором, это не является распространенным явлением , чтобы закончить его точкой с запятой.
Функциональные выражения
Функция JavaScript также может быть определена с помощью выражения.
Выражение функция может быть сохранено в переменной:
После того, как выражение функция сохранена в переменной, переменная может быть использована в качестве функции:
Функция выше фактически является анонимная функция (функция без имени).
Функции, хранящиеся в переменных не нужны имена функций. Они всегда вызываются (называется), используя имя переменной.
Выше функция заканчивается точкой с запятой, потому что это часть исполняемого оператора.
Function() Конструктор
Как вы уже видели в предыдущих примерах, функции JavaScript определяются с function ключевого слова.
Функции также могут быть определены с помощью встроенной в JavaScript функции конструктора под названием Function() .
пример
var myFunction = new Function("a", "b", "return a *
b");
var x = myFunction(4, 3);
Попробуй сам " На самом деле вы не должны использовать функцию конструктора. В приведенном выше примере такой же, как письма:
Большую часть времени, вы можете избежать с помощью new ключевого слова в JavaScript.
Function Hoisting
Ранее в этом учебнике вы узнали о "hoisting" .
Подъемно это поведение в JavaScript по умолчанию перемещения деклараций к началу текущей области.
Подъемно относится к объявления переменных и объявлений функций.
Из-за этого, функции JavaScript можно назвать, прежде чем они объявлены:
myFunction(5);
function myFunction(y) {
return y * y;
}
Функции, определенные с помощью выражения не водрузили.
Самоосуществляющийся Функции
Функциональные выражения могут быть сделаны "самоосуществляющийся".
Самостоятельно вызова выражение вызывается (начало) автоматически, без вызова.
Функциональные выражения будут выполняться автоматически , если выражение следует () .
Вы не можете самостоятельно вызывать функцию декларации.
Вы должны добавить круглые скобки вокруг функции, чтобы указать, что это выражение функции:
Функция выше фактически является анонимным самоосуществляющийся функция (функция без имени).
Функции могут быть использованы как значения
JavaScript функции могут быть использованы в качестве значений:
JavaScript функции могут быть использованы в выражениях:
Функции являются объектами
typeof оператор в JavaScript возвращает "function" для функций.
Но функции JavaScript лучше всего можно описать как объекты.
JavaScript функции имеют оба свойства и методы.
Arguments.length свойство возвращает количество аргументов, полученные, когда функция была вызвана:
toString() метод возвращает функцию в виде строки:
Функция определяется как свойство объекта, называется методом к объекту.
Функция предназначена для создания новых объектов, называется конструктор объекта.