Sfat rapid Apelarea metodelor JavaScript pe alte obiecte

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!

Vizualizați ecranul

Utilizând Apel și Aplicați

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ă!

Cod