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:
let 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ă:
let 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:
let 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:
let 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ă.