Низа со анонимни функции во 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
со циклус и испечатете ги резултатите од работата на сите
функции во конзола.