Függvények paraméterként történő átadása JavaScriptben

A függvények, hasonlóan a számokhoz, sztringekhez és tömbökhöz, átadhatók paraméterként más függvényeknek.

Nézzük meg részletesen egy gyakorlati példán keresztül. Tegyük fel, hogy van egy test függvényünk, amely két paramétert fogad:

javascripttest(paraméter1, paraméter2);

Most az első paraméterként adjunk át a test függvénynek egy anonim függvényt, amely 1-et ad vissza, a második paraméterként pedig egy anonim függvényt, amely 2-t ad vissza:

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

A fenti kód még nem működik, mivel még nem hoztuk létre magát a függvényt. Hozzuk létre:

javascriptfunction test(func1, func2) {
  
}

A függvény definiálásakor két paramétert adtunk meg - func1 és func2. Ezek a paraméterek nem tudnak arról, hogy mi kerül majd beléjük. Adhatunk például át számokat:

javascripttest(1, 2); // meghívjuk a függvényt

function test(func1, func2) {
  console.log(func1); // kiírja 1-et
  console.log(func2); // kiírja 2-t
}

De átadhatunk függvényeket is:

javascripttest(
  function() {return 1;}, // első paraméter
  function() {return 2;}  // második paraméter
);

function test(func1, func2) {
  console.log(func1); // kiírja 'function() {return 1;}'
  console.log(func2); // kiírja 'function() {return 2;}'
}

Amint látod, most a függvények forráskódja íródik ki a konzolra. Csináljuk úgy, hogy azok eredményeit írja ki. Ehhez írjunk a függvények mögé kerek zárójeleket:

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

function test(func1, func2) {
  console.log( func1() ); // kiírja 1-et
  console.log( func2() ); // kiírja 2-t
}

Most írassuk ki a konzolra az első és a második függvény eredményeinek összegét:

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

function test(func1, func2) {
  console.log( func1() + func2() ); // kiírja 3-at
}
Задание 1

Készíts egy test függvényt, amely paraméterként 3 függvényt fogad. Add át neki első paraméterként egy, 1-et visszaadó függvényt, másodikként egy, 2-t visszaadó függvényt, harmadikként pedig egy, 3-at visszaadó függvényt. Írasd ki a konzolra a függvények eredményeinek összegét.