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