Niz anonimnih funkcija u JavaScript-u

Već sam ranije pomenuo da se funkcije u JavaScript-u ponašaju kao stringovi ili brojevi. Konkretno, može se napraviti niz koji se sastoji od funkcija. Hajde da to uradimo:

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

Hajde, na primer, da ispišemo u konzolu sadržaj nultog elementa niza:

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

console.log(arr[0]); // videćemo izvorni kod prve funkcije

Kao što vidite, u gornjem primeru dobijamo izvorni kod funkcije, a ne rezultat.

Da bi došlo do poziva funkcije, potrebno je dopisati joj okrugle zagrade. Budući da se naša funkcija čuva u arr[0], onda okrugle zagrade treba napisati posle kvadratnih, evo ovako: arr[0](). Proverimo:

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

arr[0](); // ispisaće '1'

Takođe se može proći kroz naš niz funkcija petljom i u toj petlji pozvati svaku od funkcija:

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

for (let func of arr) {
  func(); // pozivamo naše funkcije u petlji
}
Задание 1

Napravite niz arr sa tri funkcije. Neka prva vraća preko return broj 1, druga - broj 2, treća - broj 3.

Задание 2

Koristeći napravljeni niz arr ispisite u konzolu broj 3, pozvavši odgovarajuću funkciju.

Задание 3

Koristeći napravljeni niz arr pronadjite zbir rezultata funkcija (bez petlje).

Задание 4

Prođite kroz napravljeni niz arr petljom i ispišite rezultate rada svih funkcija u konzolu.