Как проверить тип функции в JavaScript
В задачах ниже вам нужно будет определить функция определена как Function Declaration или Function Expression.
В простых случаях это не составляет труда сделать визуально. Но как проверить, что вы сделали это правильно? Используйте разницу между Function Declaration или Function Expression: первые могут быть вызваны выше своего определения, а вторые - нет.
Пусть у нас есть вот такая функция:
javascriptlet test = function() {
console.log('!');
}
Обратимся к этой функции до ее определения:
javascripttest(); // выведет ошибку в консоль, значит Function Expression
let test = function() {
console.log('!');
}
Вот еще пример:
javascriptfunc(); // выведет '!', значит Function Declaration
function func() {
console.log('!');
}
Поставим перед нашей функцией плюсик:
javascriptfunc(); // выведет ошибку в консоль, значит Function Expression
+function func() {
console.log('!');
}
Так как функция выше - это Function Expression и она не присвоена никакой переменной, то ее никак не вызвать, ведь по имени func она будет недоступна.
Определите, является ли представленная функция Function Declaration или Function Expression:
javascriptlet test = function func() {
console.log('!');
}
Определите, является ли представленная функция Function Declaration или Function Expression:
javascriptconsole.log(
function func() {
console.log('!');
}
);
Определите, является ли представленная функция Function Declaration или Function Expression:
javascript+function func() {
console.log('!');
}
Определите, является ли представленная функция Function Declaration или Function Expression:
javascriptfunction func() {
console.log('!');
}