Masyvas su anoniminėmis funkcijomis JavaScript

Jau minėjau anksčiau, kad funkcijos JavaScript elgiasi tarsi styginiai arba skaičiai. Konkrečiai, galima sukurti masyvą, sudarytą iš funkcijų. Sukurkime:

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

Pavyzdžiui, išveskime į konsolę nulio elemento turinį:

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

console.log(arr[0]); // pamatysime pirmosios funkcijos pirminį kodą

Kaip matote, aukščiau pateiktame pavyzdyje mes gauname funkcijos pirminį kodą, o ne rezultatą.

Kad funkcija būtų iškviečiama, prie jos reikia pridėti skliaustelius. Kadangi mūsų funkcija yra saugoma arr[0], skliaustelius reikės rašyti po kvadratinių, štai taip: arr[0](). Patikrinkime:

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

arr[0](); // išves '1'

Taip pat galime pereiti mūsų masyvą su funkcijomis ciklu ir šiame cikle iškviesti kiekvieną funkciją:

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

for (let func of arr) {
  func(); // iškviečiame mūsų funkcijas cikle
}
Задание 1

Sukurkite masyvą arr su trimis funkcijomis. Tegul pirmoji grąžina per return skaičių 1, antroji - skaičių 2, trečioji - skaičių 3.

Задание 2

Naudodamiesi jūsų sukurtu masyvu arr išveskite į konsolę skaičių 3, iškvietę atitinkamą funkciją.

Задание 3

Naudodamiesi jūsų sukurtu masyvu arr rasti funkcijų rezultatų sumą (be ciklo).

Задание 4

Perkelkite jūsų sukurtą masyvą arr ciklu ir išveskite visų funkcijų rezultatus į konsolę.