En JavaScript, les appels, les applications et les liaisons existent tous pour changer le contexte lorsqu'une fonction est en cours d'exécution. En d'autres termes, ils doivent changer le pointeur de this à l'intérieur du corps de la fonction.
La différence entre appeler, appliquer et lier en js
La différence entre appeler, appliquer et lier peut être trouvée via le suivant Regardons des exemples.
var obj = { x: 81, }; var foo = { getX: function() { return this.x; } } console.log(foo.getX.bind(obj)()); //81 console.log(foo.getX.call(obj)); //81 console.log(foo.getX.apply(obj)); //81
Les trois sorties sont toutes 81, mais faites attention à celle qui utilise la méthode bind(). Il y a une paire de crochets après.
En d'autres termes, la différence est que lorsque vous souhaitez modifier l'environnement contextuel et non pas l'exécuter immédiatement, mais une exécution de rappel, utilisez la méthode bind(). Apply/call exécutera la fonction immédiatement.
Pour résumer :
apply, call et bind sont tous utilisés pour changer le pointage de l'objet this de la fonction
apply, call Le premier paramètre de ,bind est l'objet vers lequel cela pointe, c'est-à-dire le contexte que vous souhaitez spécifier
apply, call et bind peuvent tous utiliser les paramètres suivants pour transmettre des paramètres; 🎜> bind renvoie la fonction correspondante pour un appel facile plus tard ;
appliquer et appeler immédiatement.
Cet article provient de la rubrique
tutoriel jsCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!