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() нельзя получить доступ во внешней области видимости, потому что она не создана во внешней области видимости. Таким образом, это не функция внешней области видимости.

Он создается локально, поэтому к нему можно получить локальный доступ внутри функции.

Спасибо Продолжайте учиться!!!!