Масив с анонимни функции в JavaScript
Вече споменах по-рано, че функциите в JavaScript се държат като стрингове или числа. По-конкретно, може да се направи масив, състоящ се от функции. Нека направим такъв:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
Нека, например, изведем в конзолата съдържанието на нулевия елемент на масива:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
console.log(arr[0]); // ще видим изходния код на първата функция
Както виждате, в примера по-горе получаваме изходния код на функцията, а не резултата.
За да се извика функцията, към нея трябва да се
добавят кръгли скоби. Тъй като нашата функция
се съхранява в arr[0], то кръглите скоби
трябва да се напишат след квадратните, ето
така: arr[0](). Нека проверим:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
arr[0](); // ще изведе '1'
Може също така да обходим нашия масив с функции в цикъл и в този цикъл да извикаме всяка от функциите:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
for (let func of arr) {
func(); // извикваме нашите функции в цикъла
}
Направете масив arr с три функции.
Нека първата връща чрез return
числото 1, втората - числото 2,
третата - числото 3.
Използвайки създадения от вас масив arr
изведете в конзолата числото 3, като извикате
съответната функция.
Използвайки създадения от вас масив arr
намерете сумата от резултатите на функциите (без цикъл).
Обходете създадения от вас масив arr
с цикъл и изведете резултатите от работата на всички
функции в конзолата.