Maison > interface Web > js tutoriel > Quand « ceci » fait-il référence à l'argument passé en JavaScript ?

Quand « ceci » fait-il référence à l'argument passé en JavaScript ?

DDD
Libérer: 2024-11-04 04:59:02
original
439 Les gens l'ont consulté

When does `this` refer to the argument passed in JavaScript?

Quand ceci fait-il référence à l'argument passé ?

En JavaScript, la valeur de this est déterminée par la manière dont une fonction est appelée. Il existe quelques scénarios dans lesquels ceci fera référence à l'argument passé à la fonction :

1. Appel de méthode

Lors de l'appel d'une méthode d'un objet à l'aide de l'opérateur point (par exemple, obj.method()), cela fait référence à l'instance d'objet (obj) elle-même. Dans votre exemple, lorsque obj.prepareRandomFunction() est appelé, cela à l'intérieur de la méthode prepareRandomFunction fait référence à obj.

2. Utilisation de .bind()

La méthode .bind() prend une fonction et renvoie une nouvelle fonction qui, lorsqu'elle est appelée, a sa valeur this définie sur la valeur fournie comme premier argument. Dans votre exemple, this.sumData.bind(this) crée une nouvelle fonction qui lie this à obj. Lorsque la fonction randomFunction est invoquée avec cette fonction liée, celle-ci à l'intérieur de randomFunction fera référence à obj.

Éviter la confusion

Pour éviter toute confusion et garantir que cela fait référence à l'objet prévu, il est recommandé de explicitement liez ce contexte à l'aide de .bind() lors du passage des rappels de méthode à d'autres fonctions. Cela garantit que this à l'intérieur de la fonction de rappel a la valeur correcte.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal