Parametrii funcțiilor transmise în JavaScript

Să presupunem că avem funcția test, care ca parametru primește o altă funcție și în consolă afișează rezultatul acestei funcții transmise:

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

Să presupunem că funcția transmisă func ca parametru primește un număr și face ceva cu el. Să-i transmitem, de exemplu, numărul 3:

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

Hai să apelăm acum funcția test, transmițându-i ca parametru o funcție anonimă. Această funcție anonimă ca parametru va primi un număr și va returna pătratul acestui număr.

Ca urmare a tuturor acestora, construcția noastră va afișa pătratul numărului 3, adică 9:

javascript// Va afișa 9:
test(
  function(num) {
    return num * num;
  }
);

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

Să formatăm codul mai elegant:

javascript// Va afișa 9:
test(function(num) {
  return num * num;
});

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

Copiați codul funcției mele test. Apelați această funcție, transmitându-i ca parametru o funcție anonimă, care ca parametru va primi un număr și îi va returna cubul.

Задание 2

Modificați-vă codul astfel încât funcția transmisă să nu fie anonimă, ci să fie definită ca Function Declaration cu numele func.

Задание 3

Modificați funcția transmisă în Function Expression cu același nume func.

Задание 4

Să presupunem că funcția transmisă acum primește doi parametri și returnează suma acestora. La apelarea funcției transmise în interiorul test transmiteți funcției transmise numărul 2 și numărul 3. Afișați rezultatul.