标签:obj listen 触发事件 listener 构造 call 函数 window dev
知识点:
1、普通函数中的this
在普通函数中,this是表示window
console.log(this)
function abc(){
console.log(this);
function a(){
console.log(this);
}
a();
}
abc();
2、事件中的this
在事件侦听和触发过程中,执行事件触发的函数,我们称为事件处理函数,
在该函数中我们获取的this是触发事件的对象
bn.addEventListener(“click”,clickHandler);
function clickHandler(e){
console.log(this);
}
bn.onClick=function(){
console.log(this);
}
但是我们可以利用函数绑定,改变this,
例如bn.addEventListener(“click”,clickHandler.bind(this));
3、类中的this
当函数被实例化后,函数就是类的构造函数了,这个时候,
函数中的this就是被实例化的对象本身了。
function Ball(){
console.log(this);
}
var obj=new Ball();
4、函数call以后替代执行的this
使用函数的方法call,替代执行方法。关于call部分,
我们后面详细讲解该内容,但是在这里我们先做一下该部分this的说明
function fun2(){
console.log(this);
}
function fun1(callBack){
var obj={a:1};
callBack.call(obj);
}
fun1();
这个时候this是obj对象。
标签:obj listen 触发事件 listener 构造 call 函数 window dev
原文地址:https://www.cnblogs.com/wjsblog/p/12883376.html