this的指向
首先我们明白指向的是谁:对象
全局下的this 指向window
- 函数中的this 谁调用指向谁
- 事件处理函数中 this 谁触发指向谁
- 对象中的this 默认指向当前对象
- 箭头函数中无this 但是如果箭头函数中出现this如何解决
- 构造函数中的this指向构造函数的对象
目标:代码找到那个就指向哪个对象
不同函数里面this的指向不同
事件this
在事件处理函数中的this,谁触发事件this就指向谁
事件 dom事件
作用:实现任何浏览器的交互
实例:
var obj = {
name:'xiaobo',
age:'23'
};
function init() {
document.body.onclick = function() {
console.log(this)//body
};
}
构造函数的this指向
this指向的是构造函数所创建的对象
构造函数的作用:创建对象
是不是构造函数有new决定
var obj = {
name:'xiaobo',
age:'23'
};
function init() {
document.body.onclick = function() {
console.log(this)//body
};
}
箭头函数的this
箭头函数中没有this,如果有this就不是箭头函数
出现this,this就指向谁
箭头函数中this会往父域中走就指向父域
var obj2 = {
id: 2333,
test: () => console.log(this)
}
obj2.test();//window
obj2.test.call(obj2);//window