Maison >interface Web >js tutoriel >Pourquoi utiliser `var that = this;` dans les fonctions JavaScript imbriquées ?
Accéder à ceci dans les fonctions imbriquées : démêler var that = this;
En JavaScript, comprendre la portée et la valeur de ceci est crucial. Considérez l'extrait de code suivant :
function Somefunction() { var that = this; ... }
Pourquoi est-ce déclaré et attribué la valeur de this ?
Pour comprendre le but de cette technique, visualisons un scénario :
var colours = ['red', 'green', 'blue']; document.getElementById('element').addEventListener('click', function() { // this points to the clicked element var that = this; colours.forEach(function() { // this is undefined within this inner function // that still refers to the clicked element }); });
ceci dans le rappel forEach fait référence à l'élément actuel du tableau, et non à l'élément sur lequel vous avez cliqué. Cependant, cela conserve une référence à l'élément cliqué.
Lorsque vous accédez à des fonctions imbriquées, la portée de celle-ci peut changer, ce qui rend difficile l'accès à la valeur d'origine. Alimenter ceci en cela garantit que la valeur d'origine est toujours accessible.
Notez que l'utiliser comme alias n'est pas toujours optimal. Il est préférable d'utiliser un alias plus descriptif qui indique clairement à quoi il fait référence, notamment dans les fonctions complexes.
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!