Определение функций JavaScript
- Предыдущая страница Ссылка на объект JS
- Следующая страница Параметры функции JS
Функции JavaScript определяются через function
ключевое словоОпределение.
Вы можете использовать функциюHoisting — это способ, с помощью которого JavaScript поднимаетили функцияВыражение。
декларация функции
Ранее в этом курсе вы изучили следующий синтаксисHoisting — это способ, с помощью которого JavaScript поднимаетФункция:
function functionName(parameters) { Код для выполнения }
Декларированные функции не выполняются напрямую. Они «сохраняются для использования позже» и будут выполнены позже, когда они будут вызываться.
Пример
function myFunction(a, b) { return a * b; }
Точка с запятой используется для разделения исполнимых предложений JavaScript.
Поскольку функцияHoisting — это способ, с помощью которого JavaScript поднимаетЭто не исполнимое предложение, заканчивается точкой с запятой и не часто встречается.
функциональное выражение
Функции JavaScript также могут использоватьВыражениедля определения.
Выражение функции можно хранить в переменной:
Пример
var x = function (a, b) {return a * b};
После сохранения выражения функции в переменной, эта переменная может использоваться как функция:
Пример
var x = function (a, b) {return a * b}; var z = x(4, 3);
;Анонимные функциианонимная самовызывающаяся функция
Функции, хранящиеся в переменных, не требуют имени функции. Они всегда вызываются по имени переменной.
Верхняя функция заканчивается точкой с запятой, так как она является частью исполняемого предложения.
конструктор Function()
Как вы видели в предыдущем примере, функции JavaScript определяются через function
определенное ключевым словом.
Функция также может быть определена через имя Function()
Function()
Пример
внутренние функции JavaScript для их определения. функции JavaScript могут использоваться в качестве значений:
var myFunction = new Function("a", "b", "return a * b");
Пример
на самом деле вам не нужно использовать функциональный конструктор. Вот так же будет работать пример выше: функции JavaScript могут использоваться в качестве значений:
var myFunction = function (a, b) {return a * b}; в большинстве случаев вы можете избежать использования в JavaScript
new
ключевые слова.
подъем функций
в этом руководстве вы уже изучили "поднятие" (hoisting).Hoisting — это способ, с помощью которого JavaScript поднимаетОбъявление
по умолчанию переместить в顶端 текущего области видимости.
Hoisting применяется к переменным и функциональным объявлениям.
Таким образом, функции JavaScript могут быть вызваны до их объявления: myFunction(5); function myFunction(y) { }
return y * y;
функции, определенные выражением, не поднимаются.
Самоиспользующиеся функции
Функциональные выражения могут быть "самоиспользующимися".
самоиспользующиеся выражения автоматически вызываются (начинаются), без выполнения вызова. }
。
Функциональные выражения автоматически выполняются, если после выражения следует
Вы не можете самоиспользовать функциональное объявление.
Пример
Вы должны добавить скобки вокруг функции, чтобы указать, что это функция-выражение: (function () { var x = "Hello!!"; // Я буду вызывать себя}()
;функция, приведенная выше, на самом деле являетсяанонимная самовызывающаяся функция
(анонимные функции без имени)。
функции могут использоваться в качестве значений
Пример
function myFunction(a, b) { return a * b; } функции JavaScript могут использоваться в качестве значений:
var x = myFunction(4, 3);
Пример
function myFunction(a, b) { return a * b; } функции JavaScript могут использоваться в выражениях:
var x = myFunction(4, 3) * 2;
функции в JavaScript являются объектами typeof
оператор возвращает "function
"。
но лучше всего описывать функции JavaScript как объекты.
у всех функций JavaScript естьпараметриметод。
arguments.length
возвращает количество параметров, переданных при вызове функции:
Пример
function myFunction(a, b) { return arguments.length; }
toString()
метод возвращает функцию в виде строки:
Пример
function myFunction(a, b) { return a * b; } var txt = myFunction.toString();
Функции, определенные как свойства объекта, называются методами объекта.
Функции, созданные для создания новых объектов, называются объектными конструкторами (объектными конструкторами).
Арифметические функции
Арифметические функции позволяют использовать краткую грамматику для записи функций выражений.
Вам не нужно ключевое слово function, ключевое слово return и фигурные скобки.
Пример
// ES5 var x = function(x, y) { return x * y; } // ES6 const x = (x, y) => x * y;
У箭очных функций нет своего this. Они не подходят для определения методов объекта.
箭очные функции не поднимаются. Их необходимо определить до использования.
Использование const безопаснее, чем использование var, потому что функция выражения всегда является константой.
Если функция является единственной строкой, то можно опустить ключевое слово return и фигурные скобки. Поэтому их сохранение может быть хорошей привычкой:
Пример
const x = (x, y) => { return x * y };
IE11 и более ранние версии не поддерживают箭очные функции.
- Предыдущая страница Ссылка на объект JS
- Следующая страница Параметры функции JS