JavaScript-de ýollary parametr hökmünde geçirmek

Ýollary, sanlara, setirlere we massiwlere meňzeş, beýleki ýollaryň parametrleri hökmünde geçirilip bilner.

Amaly mysalda has giňişleýin gözden geçireýliň. Bizde iki parametr kabul edýän test funksiýasy bolsun:

javascripttest(parametr1, parametr2);

Geliň test funksiýasynyň birinji parametrine 1 yzyna gaýtarýan anonim funksiýany geçireýliň, ikinji parametre bolsa 2 yzyna gaýtarýan anonim funksiýany geçireýliň:

javascripttest(
  function() {return 1;},
  function() {return 2;}
);

Ýokarda getirilen kod hali işleýjok, sebäbi biz funksiýanyň özüni döretmedik. Geliň muny edeliň:

javascriptfunction test(func1, func2) {
  
}

Funksiýany kesgitleýänimizde biz iki parametr görkezdik - func1 we func2. Bu parametrler olara näme geçiriljekdigi barada hiç zat bilemzok. Mysal üçin, sanlary geçirip bileris:

javascripttest(1, 2); // funksiýany çagyryň

function test(func1, func2) {
  console.log(func1); // 1 görkezer
  console.log(func2); // 2 görkezer
}

Ýa-da ýollary geçirip bileris:

javascripttest(
  function() {return 1;}, // birinji parametr
  function() {return 2;}  // ikinji parametr
);

function test(func1, func2) {
  console.log(func1); // 'function() {return 1;}' görkezer
  console.log(func2); // 'function() {return 2;}' görkezer
}

Görşüňiz ýaly, indi konsola ýollaryň çyndan koduny görkezýär. Geliň netijeleri görkezýän etmeli. Bunuň üçin ýollary ýaýly çyzyk bilen ýazalyň:

javascripttest(
  function() {return 1;},
  function() {return 2;}
);

function test(func1, func2) {
  console.log( func1() ); // 1 görkezer
  console.log( func2() ); // 2 görkezer
}

Geliň konsola birinji we ikinji funksiýanyň netijeleriniň jemini görkezeliň:

javascripttest(
  function() {return 1;},
  function() {return 2;}
);

function test(func1, func2) {
  console.log( func1() + func2() ); // 3 görkezer
}
Задание 1

test funksiýasyny ýasalyň, parametrleri hökmünde 3 funksiýany kabul etsin. Oňa birinji parametr hökmünde 1 yzyna gaýtarýan funksiýany, ikinji - 2 yzyna gaýtarýan funksiýany, üçünji - 3 yzyna gaýtarýan funksiýany geçiriň. Funksiýalaryň netijeleriniň jemini konsola görkeziň.