Masīvs ar anonīmām funkcijām JavaScript

Es jau iepriekš minēju, ka funkcijas JavaScript uzvedas gluži kā virknes vai skaitļi. Konkrēti, var izveidot masīvu, kas sastāv no funkcijām. Izveidosim:

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

Piemēram, izvadīsim konsolē nulles elementa saturu:

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

console.log(arr[0]); // redzēsim pirmās funkcijas pirmkodu

Kā redzat, iepriekš minētajā piemērā mēs iegūstam funkcijas pirmkodu, nevis rezultātu.

Lai notiktu funkcijas izsaukums, tai jāpievieno apaļās iekavas. Tā kā mūsu funkcija ir saglabāta arr[0], tad apaļās iekavas būs jāraksta aiz kvadrātiekavām, šādi: arr[0](). Pārbaudīsim:

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

arr[0](); // izvadīs '1'

Var arī izskriet mūsu funkciju masīvu ciklā un šajā ciklā izsaukt katru no funkcijām:

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

for (let func of arr) {
  func(); // izsaucam mūsu funkcijas ciklā
}
Задание 1

Izveidojiet masīvu arr ar trim funkcijām. Lai pirmā atgriež caur return skaitli 1, otrā - skaitli 2, trešā - skaitli 3.

Задание 2

Izmantojot jūsu izveidoto masīvu arr izvadiet konsolē skaitli 3, izsaucot atbilstošo funkciju.

Задание 3

Izmantojot jūsu izveidoto masīvu arr atrodiet funkciju rezultātu summu (bez cikla).

Задание 4

Izskeļjiet jūsu izveidoto masīvu arr ciklā un izvadiet visu funkciju rezultātus konsolē.