Functions Flashcards

1
Q

Function expression

A

Функциональное выражение.
Ключевое слово function может использоваться для определения функции внутри выражения.

var myFunction = function name {
statements
};

Имя функции может быть опущено для создания анонимных функций.

Функциональное выражение может быть использовано для создания самовызывающейся функции IIFE (Immediately Invoked Function Expression), которая исполняется сразу же после того, как она была определена.

Функциональные выражение не всплывают. Вы не можете использовать их до их определения.

Для рекурсии необходимо создать именованное функциональное выражение.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Function declaration

A

Объявление функции определяет функцию с указанными аргументами.

function name([param,[, param,[…, param]]]) {
[statements]
}

Является объектом Function и обладает всеми свойствами, методами и поведением объектов такого типа.

По умолчанию функции возвращают undefined. Чтобы вернуть другое значение, функция должна содержать инструкцию return, которая указывает, какое значение возвращать.

Объявление функции в JS поднимает определение функции. Функцию можно использовать до ее объявления.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Arrow function

A

let func = (arg1, arg2, …argN) => expression;

Если аргумент в функции только один, то круглые скобки вокруг него можно опустить.
Если аргументов нет, то круглые скобки пустые, но обязательно присутствуют.
Если функция многостаночная - заключаем тело в {…} и добавляем return.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Peculiarities of arrow functions

A
  1. У стрелочных функций нет своего this. Если мы обращаемся к this, то берем его из наружного контекста. Это удобно использовать, например, для итерации внутри метода объекта.
  2. Стрелочные функции не могут быть использованы как конструкторы. Они не могут быть вызваны с new.
  3. У стрелочных функций также нет переменной arguments.
  4. У стрелочных функций нет super. При обращении к super стрелочной функции он берётся из внешней функции.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly