如何确定JavaScript中this的指向?这里有5中常见的分类


如何确定JavaScript中this的指向?这里有5中常见的分类

文章插图
【如何确定JavaScript中this的指向?这里有5中常见的分类】 
this的指向是在函数调用的时候确定下来的,this的指向大致可以分为五种.
1. 默认绑定默认绑定一般发生在回调函数,函数直接调用;
如何确定JavaScript中this的指向?这里有5中常见的分类

文章插图
 
2. 隐式绑定谁调用就是指向谁;
如何确定JavaScript中this的指向?这里有5中常见的分类

文章插图
 
3. 显示绑定call,Apply,bind
如何确定JavaScript中this的指向?这里有5中常见的分类

文章插图
 
4. new绑定
如何确定JavaScript中this的指向?这里有5中常见的分类

文章插图
 
5. ES6的箭头函数箭头函数比较特殊,箭头函数this为父作用域的this , 不是调用时的this.要知道前四种方式都是调用时确定,也就是动态的,而箭头函数的this指向是静态的,声明的时候就确定了下来.比较符合js的词法作用域.
如何确定JavaScript中this的指向?这里有5中常见的分类

文章插图
 
既然有5种this的绑定方式,那么肯定有优先级的先后
箭头函数 -> new绑定 -> 显示绑定call/bind/apply -> 隐式绑定 -> 默认绑定




    推荐阅读