如何理解this的指向

this是JS中一个关键字,this的指向是不确定的,可以动态改变,这样设计可以让代码更加灵活,复用性也更高,那么应该如何去理解this呢。
this有一个总原则:永远指向调用函数的那个对象

var obj = {
  foo: function(){
    console.log(this)
  }
}

var bar = obj.foo
obj.foo() // 打印出的 this 是 obj
bar() // 打印出的 this 是 window

看上面这段代码,在obj这个对象上有一个方法foo,将这个方法赋值给bar,然后调用它,这时候this指的当然就是obj,然后执行bar() ,其实在全局作用域下,bar()相当于window.bar()所以此时this指的就是window,记住这句话
this永远指向调用函数的那个对象
this永远指向调用函数的那个对象
this永远指向调用函数的那个对象

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容