JavaScript中 this 的指向问题

this 指向问题

一般情况下 this 的最终指向是调用它的元素对象

1.全局作用域或者普通函数中 this 指向全局对象 window (注意定时器里面的 this 指向 window )

console.log('全局----->',this)
			
function fn(){
    console.log('方法----->',this)
}
fn();
			
setTimeout(function(){
	console.log('定时器----->',this)
},1000)

2.方法调用中谁调用 this 就指向谁

var obj = {
	sayHi:function(){
	// this 指向 obj 这个对象
	console.log('对象------>',this)
	}
}
obj.sayHi();
			
var btn = document.querySelector('button');
	btn.addEventListener('click',function(){
		// this 指向 btn 这个按钮对象
	    console.log('按钮------>',this)
})

3.构造函数中 this 指向构造函数的实例

function Fun(){
	// this 指向的是 Fun 实例对象
	console.log('构造------>',this)
}
var fun = new Fun()

4.匿名函数中 this 指向window

var name = 'The Window';
	var object = {
	name:"My object",
	getNameFunc : function(){
		return function(){
			return name;
		}
	}
};
console.log(object.getNameFunc()())

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值