Jeden z mých oblíbených a nejzásadnějších Function
metoda je bind
, funkci, kterou jsme přidali do MooTools, když nebyla uvedena v samotném jazyce JavaScript. Často uvažujeme o použití bind
jednoduše svázat volání metody s jejím hostitelským objektem, ale věděli jste, že můžete také svázat argumenty s hostitelským objektem?
Pravděpodobně jste udělali něco takového:
this._onTargetAvailable = this._onTargetAvailable.bind(this);
Tento vzor se často používá, zejména v kódu založeném na třídách nebo při předávání funkcí zpětného volání. Co možná často nevidíte, jsou vázané argumenty:
this._onTargetAvailable = this._onTargetAvailable.bind( this, arg1, arg2, arg3 );
Vazba argumentů vám dává větší sílu v tom, jak se používá vaše vázaná funkce! Kdykoli onTargetAvailable
zavoláno, argumenty, které zadáte, budou v tomto pořadí a všechny další argumenty budou přidány na konec seznamu argumentů!