Низа со анонимни функции во JavaScript

Веќе спомнав претходно дека функциите во JavaScript се однесуваат, како низи или броеви. Конкретно, може да се направи низа што се состои од функции. Ајде да направиме:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

Ајде, на пример, да го испечатиме содржината на нултиот елемент од низата во конзола:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

console.log(arr[0]); // ќе ја видиме изворната код на првата функција

Како што можете да видите, во примерот погоре ја добиваме изворната код на функцијата, а не резултатот.

За да се слуши повикот на функцијата, кон неа треба да се додадат заградни загради. Бидејќи нашата функција се чува во arr[0], заградните загради треба да се напишат по квадратните, ете вака: arr[0](). Ајде да провериме:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

arr[0](); // ќе испечати '1'

Може исто така да ја преминиме нашата низа со функции со циклус и во тој циклус да ја повикаме секоја од функциите:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

for (let func of arr) {
  func(); // ги повикуваме нашите функции во циклус
}
Задание 1

Направете низа arr со три функции. Нека првата врати преку return бројот 1, втората - бројот 2, третата - бројот 3.

Задание 2

Користејќи ја создадената низа arr испечатете го во конзола бројот 3, повикувајќи ја соодветната функција.

Задание 3

Користејќи ја создадената низа arr пронајдете го збирот на резултатите од функциите (без циклус).

Задание 4

Поминете ја создадената низа arr со циклус и испечатете ги резултатите од работата на сите функции во конзола.