Maison  >  Article  >  interface Web  >  Il existe plusieurs situations dans lesquelles cela indique en js

Il existe plusieurs situations dans lesquelles cela indique en js

下次还敢
下次还敢original
2024-05-06 14:03:15301parcourir

En JavaScript, les types de pointage de this sont : 1. Objet global ; 2. Appel de fonction ; 3. Appel de constructeur 4. Gestionnaire d'événements 5. Fonction de flèche (hérite de this). De plus, vous pouvez définir explicitement ce que cela désigne à l'aide des méthodes bind(), call() et apply().

Il existe plusieurs situations dans lesquelles cela indique en js

Types de this pointant vers

this en JavaScript

En JavaScript, ce pointage a les types suivants :

1. Objet global

  • Lorsque la fonction est dans le global. Lorsqu'il est appelé dans la portée, cela pointe vers l'objet window (dans le navigateur) ou l'objet global (dans Node.js).

2. Appel de fonction

  • Lorsqu'une fonction est appelée en tant que méthode, cela pointe vers l'objet contenant la méthode.
  • Par exemple : const person = { name: "John", greet: function() { console.log(this.name }}; person.greet();const person = { name: "John", greet: function() { console.log(this.name); }}; person.greet();

3. 构造函数调用

  • 当使用 new 关键字调用函数时,this 指向新创建的对象。
  • 例如:const person = new Person("John");

4. 事件处理程序

  • 当事件处理程序(如 onclick)调用时,this 指向触发事件的元素。
  • 例如:<button onclick="this.style.color = 'red'">Click me</button>

5. 箭头函数

  • 箭头函数中没有自己的 this,它会继承外层作用域的 this。
  • 例如:const person = { name: "John", greet: () => console.log(this.name); };

); 3 . Appel du constructeur

    Lors de l'appel d'une fonction à l'aide du nouveau mot-clé, cela pointe vers l'objet nouvellement créé.
  • Par exemple : const person = new Person("John");
🎜4. Gestionnaire d'événements🎜🎜🎜🎜Lorsque le gestionnaire d'événements (tel que onclick) est appelé, cela pointe vers l’événement déclencheur Elements. 🎜🎜Par exemple : <button onclick="this.style.color = 'red'">Cliquez sur moi</button>🎜🎜🎜🎜5. function Sans son propre this, il héritera de cela de la portée externe. 🎜🎜Par exemple : const person = { name : "John", greet: () => console.log(this.name);🎜🎜🎜🎜Notes🎜🎜🎜🎜Oui; Utilisez les méthodes bind(), call() et apply() pour définir explicitement ce vers quoi cela pointe. 🎜🎜Les fonctions fléchées et les méthodes de classe lient toujours cela à la portée dans laquelle elles sont définies. 🎜🎜

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!

Déclaration:
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