Hurtig Tips Kaller JavaScript-metoder på andre objekter

Du vil aldri slutte å bli overrasket over JavaScript. I dette raske tipset skal jeg vise deg hvordan du bruker JavaScript-metodene, anrop og søke om, å ringe til dine funksjoner av andre objekter. Vet ikke hva jeg mener? La oss komme i gang!

Se Screencast

Bruke samtale og bruk

Her er scenariet: vi har to objekter:

var joe = navn: "Joe", hilse: funksjon (navn) alert (this.name + "sier hei til" + navn); ; var jill = navn: "jill";

Det er ganske enkelt å få Joe til å hilse på Jill:

joe.greet ( "Jill");

Men hvordan kan vi få Jill til å hilse på Joe? Hun har ingen hilsen metode (og la oss anta at vi ikke kan / vil ikke / burde ikke gi henne en). Vel, fordi alt i JavaScript-inkludert funksjoner-er et objekt, kan alt ha en metode, eller en funksjon som kan kalles fra den. Funksjoner er gitt to metoder som lar deg ringe dem i forskjellige sammenhenger.

Konteksten til en metode er i utgangspunktet objektet som vil være dette når funksjonen kalles. I vår hilse på metode, dette refererer til objektet joe, fordi det er det det er en del av.

Nå, prøv dette:

joe.greet.call (jill, "Joe");

De anrop Metode på JavaScript-funksjoner lar deg endre funksjonens kontekst. Den første parameteren vi sender inn, er den nye konteksten: i dette tilfellet er det jill. Senere parametere er parametrene til funksjonen du ringer. I dette tilfellet vil "Joe" bli sendt til hilse på. Hvis du kjører dette, får du en varselboks med meldingen "Jill sier hei til Joe."

Det er også en søke om metode; Den eneste forskjellen er at det tar parametrene til metoden som en matrise, i stedet for som råparametere, a la anrop metode.

joe.greet.call (jill, ["joe"]);

Hvis du har det vanskelig å huske om det er det anrop eller søke om Det tar matrisen, husk det enPåfør og enRray begynner begge med "en.”

Takk for at du leste!