美文网首页
this对象

this对象

作者: LuckyFBB | 来源:发表于2018-10-11 11:15 被阅读0次

js中this的四种用法

  1. 在一般函数方法中使用this指代全局对象(默认绑定)
var x=1;
function test(){
  console.log(this.x)
}
test();    //1
  1. 作为对象方法调用,this指向上级对象(隐式绑定)
function test(){
  console.log(this.x)
}
var obj={
  x:1,
  func:test
};
obj.func();    //1
  1. 作为构造函数调用,this指代new出的对象(new 绑定)
function test(){
 this.x = 1;
}
var o = new test();
alert(o.x);    //1
  1. apply/call调用,this指向第一个参数(显式绑定)
var x=0;
function test(){
  console.log(this.x)
}
var obj={
  x:1
};
test.apply();     //0,第一个参数为空时,默认指向window对象。
test.apply(obj);  //1

模拟apply/call的实现:https://www.jianshu.com/p/b7532c021bd9

  1. this绑定优先级
new 绑定  >  显式绑定  >  隐式绑定  >  默认绑定

相关文章

网友评论

      本文标题:this对象

      本文链接:https://www.haomeiwen.com/subject/qzwvaftx.html