Razlika med metodami klica, uveljavljanja in vezanja JavaScript

Vstavimo si ga v misli in enkrat za vselej zaključimo s tem.

To mikro objavo pišem, ker me omenjeno vprašanje že zelo dolgo preganja in vedel sem, da nisem edini. Vsakič, ko sem videl, da nekdo uporablja katero od teh treh metod, sem moral hititi na MDN, da bi ugotovil, kaj se dogaja.

Dovolj je bilo dovolj. Vedel sem, da moram nekaj storiti, in to sem tudi storil. Menda sem ustvaril pregovorno srebrno kroglo, ki lahko pomaga novim razvijalcem JavaScript.

Izjava o omejitvi odgovornosti : To ni teoretična rešitev, ampak resničen način zapomniti si razliko.

Glavni vzrok zmede med metodama call()in apply()je, kako vnesti dodatne argumente this. In zakaj sploh imamo bind()?

Naučimo se torej, kako enostavno ločiti tri.

Uporabi ()

apply(this [, [arg1, arg2,...]]): Pokliče funkcijo s podano thisvrednostjo. Nadaljnji argumenti so podani kot ena matrika .

Način, da se spomnimo : " pply sprejema argumente kot A rray" ali " AA "

Pokliči ()

call(this [, arg1, arg2...]): Pokliče funkcijo s priloženo this. Nadaljnji argumenti so na voljo kot seznam, ločen z vejico

Načini zapomnitve: »Argumenti klica so ločeni z vejicami« ali » CC «.

Vezati ()

bind(this): Vrne novo funkcijo, katere thisvrednost je vezana na določeno vrednost.

Načini zapomnitve: bind () je edina metoda od treh, ki v celoti vrne novo funkcijo. Funkcije ne pokliče.

Zaviti

Upam, da bo zgornja razlaga morda pomagala nekaterim od vas. Zagotovo mi pomaga.

Ali imate pri programiranju še druge trike za pomnjenje? Vljudno ga delite s skupnostjo, saj bo vsem v pomoč. Še posebej med intervjuji.

Če imate kakršna koli vprašanja ali dvome, me pokličite na Twitter @ rajat1saxena ali mi pišite na [email protected] Prosimo, priporočite to objavo, če vam je bila všeč, in jo delite s svojim omrežjem.