this指向
一提到this,很多朋友都会瞬间头脑发懵,哈哈哈总觉得找不到规律,以下即归纳总结的this指向各种快速判断:
- 给元素的某个事件绑定方法,当事件触发,方法执行,此时this是当前操作元素本身(点击事件)
- 函数执行,看函数名前面是否有点;没有:window/undefined;有:点前面是谁,this就是谁; 匿名函数(如自执行函数、回调函数)一般都是window,除非做特殊处理
- 构造函数执行,this是当前类的实例
- 箭头函数没有自己的this(即使基于call/apply修改也没用),要找也是所处上下文中上级作用域的this
- 基于call apply bind 强制改变this指向;call apply()函数立即执行,并让this指向括号里的对象,唯一区别就是apply集中传递,最后也是一项项;bind不会立即执行,只是预先改变this指向
只要遵循原则,肯定就不会出问题啦~ 欢迎各位道友指教!!!