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
}
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.
Folosind matricea arr creată de dvs.,
afișați în consolă numărul 3, apelând
funcția corespunzătoare.
Folosind matricea arr creată de dvs.,
găsiți suma rezultatelor funcțiilor (fără ciclu).
Parcurgeți matricea arr creată de dvs.
cu un ciclu și afișați rezultatele tuturor
funcțiilor în consolă.