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 :
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.
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.
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!