fn.apply(this, arr) 改变this 指向的方法有三种, call() applay() bind() 区别 fn.call()接收的是多个参数的形式,如: fn.call(this,参数1,参数2,参数3,,,) fn.apply()接收的是一个参数数组,如: fn.apply(this, [参数1,参数2,参数3,,]) 他们都会直接指向调用, fn,bind(this, args) 的不会执行调用,需要这样做, let fun = fn let fun = fn.bind(this, args); fun() // 这样执行了,才调用。