Fúrjuk be az elménkbe, és végezzünk vele egyszer és mindenkorra.

Azért írom ezt a mikropostot, mert az előbb említett kérdés nagyon sokáig kísért, és tudtam, hogy nem én vagyok az egyetlen. Minden egyes alkalommal láttam, hogy valaki használja a három módszer bármelyikét, és rohannom kellett az MDN-re, hogy rájöjjek, mi történik.
Elég volt. Tudtam, hogy valamit tennem kell, és megtettem. Állítólag létrehoztam egy közmondásos ezüst golyót, amely segíthet az új JavaScript fejlesztőknek.
Jogi nyilatkozat : Ez nem elméleti megoldás, hanem valóban hacky módszer a különbség emlékezetére.A call()
és a apply()
módszerek közötti összetévesztés legfőbb oka az , hogy miként adhatók meg a további érvek this
. És miért van nálunk bind()
egyébként?
Tanuljuk meg, hogyan lehet könnyen megkülönböztetni a hármat.
Alkalmaz()
apply(this [, [arg1, arg2,...]])
: Meghív egy megadott this
értékű függvényt . A további érveket egyetlen tömbként adjuk meg .
Emlékezetes módszer : „ A szakember elfogadja az érveket A rray-ként” vagy „ AA ” -ként
Hívás()
call(this [, arg1, arg2...])
: Meghív egy függvényt egy megadottal this
. A további argumentumok vesszővel elválasztott listaként kerülnek megadásra
Emlékezetes módszerek: „A Call argumentumait vessző választja el egymástól” vagy „ CC ”.
Kötés ()
bind(this)
: Egy új függvényt ad vissza, amelynek this
értéke a megadott értékhez van kötve.
Emlékezetes módszerek: a bind () az egyetlen módszer a három közül, amely teljesen új függvényt ad vissza. Nem hívja meg a függvényt.
Tekerje be
Remélem, hogy a fenti magyarázat néhányat segíthet odakinn. Ez minden bizonnyal segít nekem.
Van más memorizálási trükkje a programozással kapcsolatban? Kérjük, ossza meg a közösséggel, mivel mindenkinek segítséget nyújt. Különösen az interjúk során.
Ha bármilyen kérdése van vagy kétségei vannak, írjon a Twitter @ rajat1saxena címre, vagy írjon nekem a [email protected] címre. Kérjük, ajánlja ezt a bejegyzést, ha tetszett, és ossza meg hálózatával.