Matrice cu funcții anonime în JavaScript

Am menționat anterior că funcțiile în JavaScript se comportă ca niște șiruri de caractere sau numere. În particular, putem crea o matrice compusă din funcții. Să facem asta:

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

Să afișăm, de exemplu, conținutul elementului zero al matricei în consolă:

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

console.log(arr[0]); // vom vedea codul sursă al primei funcții

După cum vedeți, în exemplul de mai sus obținem codul sursă al funcției, și nu rezultatul.

Pentru a apela funcția, trebuie să adăugăm paranteze rotunde. Deoarece funcția noastră este stocată în arr[0], parantezele rotunde trebuie scrise după cele pătrate, astfel: arr[0](). Să verificăm:

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

arr[0](); // va afișa '1'

De asemenea, putem parcurge matricea noastră cu funcții cu un ciclu și în acest ciclu să apelăm fiecare funcție:

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

for (let func of arr) {
  func(); // apelăm funcțiile noastre în ciclu
}
Задание 1

Creați o matrice arr cu trei funcții. Fie ca prima să returneze prin return numărul 1, a doua - numărul 2, a treia - numărul 3.

Задание 2

Folosind matricea arr creată de dvs., afișați în consolă numărul 3, apelând funcția corespunzătoare.

Задание 3

Folosind matricea arr creată de dvs., găsiți suma rezultatelor funcțiilor (fără ciclu).

Задание 4

Parcurgeți matricea arr creată de dvs. cu un ciclu și afișați rezultatele tuturor funcțiilor în consolă.