this指向
每个函数都会有自身的this,但是this并不是在函数声明完就绑定到某个对象上的,只有在函数调用时,this才会被绑定,
全局作用域中或者普通函数中this指向全局对象window
立即执行函数this必定指向window
定时器this指向window
事件中this指向事件源对象
方法中谁调用就指向谁
构造函数中this指向对象实例
箭头函数
箭头函数会捕获其所在上下文的 this 值,作为自己的 this 值,自己本身并没有this值;
箭头函数不会创建自己的this,它只会从自己的作用域链的上一层继承this。bind,call,apply只能调用传递参数,不可修改this指向
箭头函数通过 call() 或 apply() 方法调用一个函数时,只传入了一个参数,对 this 并没有影响。
区别
它们在功能上是没有区别的,都是改变this的指向,它们的区别主要是在于方法的实现形式和参数传递上的不同。call和apply方法都是在调用之后立即执行的。而bind调用之后是一个函数,需要再调用一次才行,