美文网首页
什么是this

什么是this

作者: 回不去的那些时光 | 来源:发表于2020-01-02 21:41 被阅读0次

this是什么

this实际上是在函数被调用时才会被绑定,也就是说this具体指向什么,取决于你是怎么调用函数的

普通函数的this

function fn() {
    console.log(this);
}
fn();           // 函数名前面没有".",所以输出的是window
var obj = { f1: fn }
obj.f1();       // 函数名前面有".",所以输出的是"."前面的对象

var c = new fn();   // fn函数
  • 函数执行,首先看函数名前面是否有".",有的话, "."前面是谁this就是谁;没有的话this就是window 和函数在哪里执行的无关
  • 对于 new 的方式来说,this 被永远绑定在了 c 上面,不会被任何方式改变 this
  • call、apply、bind可以改变函数的this

箭头函数的this

箭头函数是没有this的,箭头函数中的this只取决于包裹箭头函数的的第一个普通函数的this

相关文章

网友评论

      本文标题:什么是this

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