1 . Оператор функции/объявление функции
Оператор функции или объявление функции состоит из ключевого слова function, за которым следует имя функции, параметры в скобках (para1,..paraN ) и пару фигурных скобок {…..} для разделения основного кода.
//function declaration function printName(name) { console.log(name); } //function invocation printName(“Radheshyam”);
Этот способ создания функции известен как инструкция или объявление функции.
2 . Выражение функции
Иногда вы можете запутаться между объявлением функции и выражением функции, поскольку они очень похожи, но создают функции с разными свойствами.
В JavaScript мы можем присвоить функцию переменной.
var b =function(){ console.log(“inside function b”) } b();
Этот способ создания функции известен как функциональное выражение.
ПРИМЕЧАНИЕ. Объявление функции и выражение функции различаются с точки зрения подъема.
см. пример, приведенный ниже:
Здесь вызов функции fun2() перед ее определением вызвал ошибку, тогда как для fun1() она отлично работала. Причина в том, что на этапе создания памяти fun1 создается в памяти и ему присваивается функция. Но в случае fun2() (созданный с использованием функционального выражения) fun2 обрабатывается как другие переменные. Таким образом, память создается для fun2, но изначально она была назначена undefined. Таким образом, когда движок JavaScript начинает выполнять код построчно и достигает строки № 9 (см. изображение выше), тогда только функция присваивается переменной fun2 до тех пор, пока она не будет определена. Итак, во время вызова fun2() (строка № 2) значение fun2 было неопределенным, поэтому это вызвало ошибку.
3. Анонимная функция
Анонимная функция — это функция без имени.
function (){ console.log(“Anonymous function”) }
Но мы не можем создать такую анонимную функцию. Это вызовет ошибку: оператору функции требуется имя функции.
Анонимная функция часто недоступна после ее первоначального создания. Итак, чтобы вызвать ее позже, мы присваиваем анонимную функцию переменной.
var show = function () { console.log(‘Anonymous function’); }; show();
Использование анонимных функций в качестве аргументов других функций
setTimeout(function () { console.log(‘Execute later after 5second’) }, 5000);
4. Выражение именованной функции
Это похоже на выражение функции, когда вместо использования анонимной функции мы используем функцию с именем.
var a = function xyz(){ console.log(“inside function a”) }
Здесь вместо написания анонимной функции мы пишем функцию с именем «xyz».
Но к xyz() нельзя получить доступ во внешней области видимости, потому что она не создана во внешней области видимости. Таким образом, это не функция внешней области видимости.
Он создается локально, поэтому к нему можно получить локальный доступ внутри функции.
Спасибо Продолжайте учиться!!!!