Функция като променлива в JavaScript
И така, в предишния урок разбрахме, че когато се обърнем към функция без кръгли скоби, получаваме нейния изходен код.
Всъщност всичко е много по-интересно. В JavaScript, за разлика от други езици, функциите са същите стойности на променливи, като числа, низове и масиви.
Нека да разгледаме един пример. Нека имаме
например функция func:
function func() {
console.log('!');
}
Всъщност нямаме функция func.
Имаме променлива func, която съхранява
в себе си изходния код на функцията.
Можем, например, да презапишем променливата
func с нещо друго, например,
низ. В този случай функцията func
вече няма да бъде функция, а ще бъде низ.
Вижте примера:
function func() {
console.log('!');
}
func(); // ще изведе '!'
func = 'string'; // презаписваме променливата func
console.log(func); // ще изведе 'string'
Направете функция func, която ще
връща чрез return някакъв низ.
Изведете резултата от работата на функцията func
в конзолата.
Изведете изходния код на функцията func
в конзолата.
Запишете в променливата func числото 123,
като по този начин презапишете функцията от тази променлива.
Изведете новата стойност на променливата func
в конзолата.