Nu veți înceta niciodată să fii surprins de JavaScript. În acest sfat rapid, vă voi arăta cum să utilizați metodele JavaScript, apel
și aplica
, pentru a vă apela funcțiile altor obiecte. Nu știu ce vreau să spun? Să începem!
Iată scenariul: avem două obiecte:
var joe = nume: "Joe", salut: functie (nume) alert (acest nume + "salut" + nume); ; var jill = nume: "Jill";
Este destul de simplu să îl aduci pe Joe să-i salute pe Jill:
joe.greet ( "Jill");
Dar cum îl putem face pe Jill să îl salute pe Joe? Ea nu are o metodă de salut (și să presupunem că nu putem / nu ar trebui / nu ar trebui să-i dea una). Ei bine, pentru că totul în funcțiile JavaScript, inclusiv funcțiile, este un obiect, totul poate avea o metodă sau o funcție care poate fi apelată de la ea. Funcțiilor i se dau două metode care vă permit să le numiți în diferite contexte.
Contextul unei metode este în esență obiectul care va fi acest
când este apelată funcția. În a noastră întâmpina
metodă, acest
se referă la obiect joe
, pentru că din asta face parte.
Acum, încercați acest lucru:
joe.greet.call (jill, "Joe");
apel
Metoda funcțiilor JavaScript vă permite să modificați contextul funcției. Primul parametru pe care îl vom introduce va fi noul context: în acest caz, asta e jill
. Parametrii ulteriori sunt parametrii funcției pe care o apelați. În acest caz, "Joe" va fi trecut la întâmpina
. Dacă rulați acest lucru, veți primi o casetă de alertă cu mesajul "Jill spune salutări lui Joe".
Există și un aplica
metodă; singura diferență este că ia parametrii metodei ca o matrice, mai degrabă decât ca parametri brute, a la apel
metodă.
joe.greet.call (jill, ["Joe"]);
Dacă vă faceți greu să vă amintiți dacă este apel
sau aplica
care ia matricea, ține minte asta Apply
și Array ambele încep cu "A.“
Vă mulțumim pentru lectură!