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é.
Ce 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!