"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment préserver la portée des instances dans le traitement des événements JavaScript: capturez "ce" par alias variable

Comment préserver la portée des instances dans le traitement des événements JavaScript: capturez "ce" par alias variable

Publié le 2025-04-16
Parcourir:567

How to Preserve Instance Scope in JavaScript Event Handlers: Capturing

cote de variable dans les gestionnaires d'événements: le "ce" conundrum

dans JavaScript, les méthodes d'instance utilisées comme rappels d'événements peuvent conduire à des problèmes de cadrage. Lorsque le gestionnaire d'événements est déclenché, la portée de "ce" passe de l'instance prévue à l'élément qui a invoqué le rappel. Cela nécessite l'utilisation d'une variable pour "capturer" et maintenir la portée de l'instance.

La technique de déclarer une variable "auto" pour alias "ceci" et la transmettre au gestionnaire d'événements, comme on le voit dans l'extrait de code, est une solution courante. Cependant, son apparence non conventionnelle peut soulever des préoccupations concernant sa pertinence.

Alternatives à "self" aliasing:

Le problème de base n'est pas spécifique à JQuery mais se rapporte au comportement de fermeture de Javascript. Alors que les fermetures permettent aux fonctions intégrées d'accéder aux variables de leur portée parent, cette pseudo-variable se comporte différemment. Comme le montre le code:

// Attempt to use "this" in embedded functions
function xyz() {
  console.log(this); // Incorrect
}

Ce comportement nécessite une approche modifiée:

// Assign "this" to a variable (i.e., abc) and use the variable instead
var abc = this;

function xyz() {
  console.log(abc); // Correct
}

En aliasant "ce" avec ABC, l'accès de la fermeture à la portée de l'instance prévue est conservé. Cette technique est applicable à d'autres pseudo-variables, telles que "arguments". "

Par conséquent, bien que la méthode d'aliasing" auto "soit fonctionnelle, l'alternative de l'attribution et de la référence explicitement" cette "à une variable offre une solution plus conventionnelle et robuste à la question de l'écart dans les fonctions de rappel de gestion de gestion des événements.

]
Dernier tutoriel Plus>

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