欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-02 09:42:00
...

情况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

相关标签: 笔记