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:
function 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:
function 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:
// Va afișa 9:
test(
function(num) {
return num * num;
}
);
function test(func) {
console.log(func(3));
}
Să formatăm codul mai elegant:
// Va afișa 9:
test(function(num) {
return num * num;
});
function test(func) {
console.log(func(3));
}
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.
Modificați-vă codul astfel încât funcția transmisă
să nu fie anonimă, ci să fie definită
ca Function Declaration cu numele func.
Modificați funcția transmisă în Function
Expression cu același nume func.
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.