01.i Function Declaration
Function Declaration - функция, объявленная в основном потоке кода, имя которой регистрируется в текущем пространстве имен. К таким функциями относят обычные объявления функции:
Основная особенность функций данного типа заключается в том, что только они воздействуют текущее пространство имен. К моменту этапа интерпретации кода контекста, эти функции уже доступны для использования, т.к. попадают в окружение при построении пространства имен.
Основные свойства:
Функция обязательно имеет имя;
Функция "поднимается" вверх, т.е. функцию можно использовать выше её объявления.
Создается на этапе входа в контекст;
Новая функция создается в текущем пространстве имен.
Анонимные функции не могут быть созданы таким образом.
Находится в коде непосредственно: либо на уровне Программа (Program), либо внутри другой функции (Function Body);
Воздействует на объект переменных (имя этой функции записывается в окружение контекста);
Объявление функции Function Declaration, сделанное в блоке, видно только в этом блоке (ES6).
Такие функции можно использовать и до их объявления, т.к. они поднимаются наверх (правило подъема работает только в текущем scope.):
Last updated
Was this helpful?