JavaScriptissä välitettävien funktioiden parametrit

Olkoon meillä funktio test, joka parametrina vastaanottaa toisen funktion ja konsoliin tulostaa tämän välitetyn funktion tuloksen:

javascriptfunction test(func) {
  console.log( func() );
}

Olkoon välitetty funktio func parametrina vastaanottava luvun ja tee sillä jotain. Välitetään sille esimerkiksi luku 3:

javascriptfunction test(func) {
  console.log( func(3) );
}

Kutsukaamme nyt funktiota test, välittäen sille parametrina anonyymifunktion. Tämä anonyymifunktio parametrina vastaanottaa luvun ja palauttaa tämän luvun neliön.

Kaiken tämän seurauksena rakenteemme tulostaa luvun 3 neliön, eli 9:

javascript// Tulostaa 9:
test(
  function(num) {
    return num * num;
  }
);

function test(func) {
  console.log(func(3));
}

Muotoillaan koodi tyylikkäämmin:

javascript// Tulostaa 9:
test(function(num) {
  return num * num;
});

function test(func) {
  console.log(func(3));
}
Задание 1

Kopioi koodi minun funktiostani test. Kutsu tätä funktiota, välittäen sille parametrina anonyymifunktion, joka parametrina vastaanottaa luvun ja palauttaa sen kuution.

Задание 2

Muunna koodisi siten, että välitettävä funktio ei ole anonyymi, vaan se on määritelty Function Declaration -lauseella nimellä func.

Задание 3

Muunna välitettävä funktio Function Expression -lauseeksi samalla nimellä func.

Задание 4

Olkoon välitettävä funktio nyt vastaanottamassa kahta parametria ja palauttamassa niiden summan. Kun välitettävää funktiota kutsutaan test:n sisällä, välitä välitettävään funktioon luku 2 ja luku 3. Tulosta tulos.