总结this指向问题

在全局上下文中,this指向全局。

在函数内部,this的值取决于函数被调用的方式。

  当函数简单调用时(函数在全局上下文中),this指向window(严格模式下指向undefined)

  call 或 apply 方法能将 this 值绑定到调用中的特定对象,bind方法永久地被绑定到了bind的第一个参数,无论这个函数是如何被调用的


  当函数作为对象方法的时,this指向当前调用该方法的对象

  当函数作为原型链中的方法时,指向当前原型链的对象

  在getter与setter中调用,用作 getter 或 setter 的函数都会把 this 绑定到设置或获取属性的对象

  在构造函数中调用,指向新创建的构造函数

  当函数被用作事件处理函数时,它的this指向触发事件的元素

  当代码被内联on-event 处理函数调用时,它的this指向监听器所在的DOM元素


箭头函数中this与封闭词法上下文的this保持一致(不绑定自己的this,arguments,super或 new.target)

posted @ 2018-05-15 18:02  毛毛雨_Eric  阅读(198)  评论(0编辑  收藏  举报