THIS的指代总结

来源:互联网 发布:西安行知小学地址 编辑:程序博客网 时间:2024/04/29 13:01

THIS的指代总结

this一直都是js中一个比较难攻破的点,今天我来总结一下this在各种场合的指代情况。

  1. this指代当前正在调用方法的对象(.点前的对象)
var obj={    name:"cqj",    age:21,    intro:function(){              //this指的是调用函数的那个对象    console.log("我叫"+this.name+"我"+this.age+"岁");          }}obj.intro();

这个this就是指代调用这个函数点前的那个对象,所以那个this指的是obj。

2.如果一个函数没有调用任何的对象,那么这个this指代的是全局变量。(this->window)
譬如匿名函数的自调,回调函数。

arr.sort(function(emp){    emp.addEventListener("click",hide);})

sort中的函数就是回调函数,回调函数就是定义好的函数给别人反复调用。

(但是在jquery中这个this指的是当前变量了。注意!)

3.事件处理函数
在实践处理函数中,this->绑定事件的元素对象。

<div id="cc"></div>var bb=document.getElementById("cc");bb.addEventListener("click",function(){            alert(this.id);});

结果为cc,那这里这个this就是指绑定事件的对象bb了。

4.但更多时候this在这个范围中不是我们所想要的,那我们就要用call来绑定我们需要的this。尤其是在函数掉用对象函数的时候特别注意,一定要分清其中的this指的是什么。

1 0
原创粉丝点击