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() // 这样执行了,才调用。