必看——彻底理解JS中的this指向

情况1:
默认绑定:没有明确隶属对象的函数,被直接执行,这种情况this一般指向window

function fn(){
console.log(this);
}
fn();
//这时this指向window

情况2:
隐式绑定:有所属对象的函数,被执行,这种情况一般this指向当前函数上午所属对象

var obj={
name:"admin",
show:function(){
console.log(this);
  }
}
obj.show();
//这时this指向obj

隐式丢失:如果作为参数,传到另一个函数中,那么丢失原本的对象,this指向变成window

var obj={
name:"admin",
show:function(){
console.log(this);
  }
}
obj.show(obj.show,1000);
//这时this指向window

情况3:
强制绑定:利用函数的方法(call,apply,blind),改成谁,this就是谁

情况4:
new绑定:函数被new执行之后,函数内部的this会指向new出来的实例。

注意:ES6中的箭头函数没有自己的this,指向外层的this

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值