当作为构造函数(new)时,构造函数内部的 this 永远指向实例,不会被任何方式改变。
箭头函数其实是没有
this的,箭头函数中的this只取决包裹箭头函数的第一个普通函数的this。另外对箭头函数使用bind这类函数是无效的。同时,箭头函数的this一旦被绑定,就不会再被任何方式所改变。- 多次bind:不管我们给函数
bind几次,fn中的this永远由第一次bind决定。
this优先级:
首先,new 的方式优先级最高,接下来是 bind 这些函数,然后是 obj.foo() 这种调用方式,最后是 foo 这种调用方式。