Mystère du pointeur JavaScript "this" dans les fonctions imbriquées
Dans un extrait de code JavaScript, vous avez rencontré un comportement inattendu concernant le "this" " pointeur dans une fonction imbriquée. Malgré la définition de la fonction imbriquée dans une méthode objet, le pointeur "this" à l'intérieur de la fonction imbriquée pointe vers l'objet "window" global.
Le comportement du pointeur "this" est déterminé par la méthode d'invocation de fonction dans JavaScript. Il existe trois méthodes principales :
Invocation directe : someThing.someFunction(arg1, arg2, argN)
Appel de fonction avec call() : someFunction.call(someThing, arg1, arg2, argN)
Appel de fonction avec apply() : someFunction.apply(someThing, [arg1, arg2, argN])
Dans l'exemple que vous avez fourni, la fonction imbriquée est invoquée sans aucune des méthodes d'invocation de fonction explicites. Par conséquent, le pointeur "this" est par défaut l'objet global, qui est généralement l'objet "window" dans un environnement de navigateur.
Pour spécifier explicitement le comportement du pointeur "this", vous pouvez utiliser les modifications suivantes :
En utilisant l'une de ces méthodes , vous pouvez contrôler le comportement du pointeur "this" dans les fonctions imbriquées et vous assurer qu'il fait référence à l'objet souhaité.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3