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