Maison > interface Web > js tutoriel > Discussion sur le problème de pointage de ceci dans js

Discussion sur le problème de pointage de ceci dans js

小云云
Libérer: 2018-03-16 17:09:09
original
1278 Les gens l'ont consulté

Cet article partage principalement avec vous la discussion sur la question du pointage de this en js. Le mot-clé this représente l'objet de la méthode en cours d'exécution. S'il n'y a pas de méthode actuelle, il fait référence à la variable globale. C'est-à-dire que cela représente la référence de l'objet appelant la méthode.

1. Ceci dans la portée globale ou la fonction ordinaire pointe vers la fenêtre de l'objet global.

//直接打印
    console.log(this) //window
//function声明函数
    function bar () {conso
le.log(this)}bar() //window
//function声明函数赋给变量
    var bar = function () {console.log(this)}bar() //window
//自执行函数
    (function () {console.log(this)})(); //window
Copier après la connexion

2. Qui appelle cela et montre qui

//对象方法调用
    var person = {run: function () {console.log(this)}}person.run()// person
//事件绑定
    var btn = document.querySelector("button")btn.onclick = function () {console.log(this) // btn}
//事件监听
    var btn = document.querySelector("button")btn.addEventListener('click', function () {console.log(this) //btn})
//jquery的ajax
    $.ajax({ self: this,    type:"get",    url: url,    async:true,    success: function (res) {console.log(this)
 // this指向传入$.ajxa()中的对象
    console.log(self) // window  } }); 
//这里说明以下,将代码简写为$.ajax(obj) ,this指向obj,在obj中this指向window,因为在在success方法中,独享obj调用自己,所以this指向obj
Copier après la connexion

3 Dans l'objet constructeur ou prototype de constructeur, cela pointe vers l'instance du constructeur<. 🎜>

//不使用new指向window
    windowfunction Person (name) {console.log(this) // window    
    this.name = name;}Person(&#39;inwe&#39;)
//使用new
    function Person (name) {this.name = name   console.log(this) //people     
    self = this  }  var people = new Person(&#39;iwen&#39;)  console.log(self === people) //true
//这里new改变了this指向,将this由window指向Person的实例对象people
new改变this指向,将this指向window改为指向person的实例people
Copier après la connexion

Changez le pointeur de ceci :

Fonction C'est un type spécial en soi. La plupart des gens pensent qu'il s'agit d'une variable. Ce n'est que lorsque la fonction est exécutée qu'il est possible de déterminer à qui cela pointe. à la fonction qui l'appelle finalement.

Recommandations associées :

Explication détaillée de l'utilisation et du qualificatif d'accès de $this en PHP

Modifier le pointeur this en JavaScript Diverses méthodes

ces règles et exemples d'utilisation de cet objet en JavaScript

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!

Étiquettes associées:
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