偶记---总结this指向的五种情况

72 阅读1分钟

this指向

一提到this,很多朋友都会瞬间头脑发懵,哈哈哈总觉得找不到规律,以下即归纳总结的this指向各种快速判断:

  1. 给元素的某个事件绑定方法,当事件触发,方法执行,此时this是当前操作元素本身(点击事件)
  1. 函数执行,看函数名前面是否有点;没有:window/undefined;有:点前面是谁,this就是谁; 匿名函数(如自执行函数、回调函数)一般都是window,除非做特殊处理
  1. 构造函数执行,this是当前类的实例
  1. 箭头函数没有自己的this(即使基于call/apply修改也没用),要找也是所处上下文中上级作用域的this
  1. 基于call apply bind 强制改变this指向;call apply()函数立即执行,并让this指向括号里的对象,唯一区别就是apply集中传递,最后也是一项项;bind不会立即执行,只是预先改变this指向

只要遵循原则,肯定就不会出问题啦~ 欢迎各位道友指教!!!