call()、apply()、bind()作用是改变函数执行时的上下文,简而言之就是改变函数运行时的this指向
apply()
apply接受两个参数,第一个参数是this的指向,第二个参数是函数接受的参数,以数组的形式传入(伪数组/真数组)
改变this指向后原函数会立即执行,且此方法只是临时改变this指向一次
apply底层会自动遍历数组,然后按照顺序逐一传参
call()
call方法的第一个参数也是this的指向,后面传入的是一个参数列表
跟apply一样,改变this指向后原函数会立即执行,且此方法只是临时改变this指向一次
bind()
bind方法,第一参数也是this的指向,bind不会立即执行函数,而是返回一个修改this之后的新函数