Maison >interface Web >js tutoriel >Résumé de l'utilisation de la méthode bind dans ECMAScript5 (ES5)_Connaissances de base
J'ai toujours été vague sur les choses liées à cela, comme appeler, postuler, etc. Cette fois, j'ai vu une question de test écrite liée à la liaison, j'ai donc écrit cet article comme rappel.
Bind, comme call et apply, peut changer le this indiqué par le contexte. La différence est que call, comme apply, fait directement référence à la méthode, tandis que bind renvoie une méthode après la liaison, mais le noyau interne est toujours apply.
Regardez directement l'exemple :
Pourquoi cela se produit-il ? Parce que dans le contexte de func, c'est window ! L'existence de bind consiste à changer ce pointeur pour obtenir la valeur souhaitée :
Bind est une méthode d'extension de fonction. Après la liaison, le code relie le pointeur this (obj) à l'intérieur de func, mais il n'est pas compatible avec ie6~8. Le code compatible est le suivant :
. En fait, à mon avis, le cœur de bind est de renvoyer une méthode non exécutée Si vous utilisez apply ou call directement :