call()和apply()共同点:
1.这两个方法都是函数对象的方法,需要通过函数对象来调用
2.当对函数调用call()和apply()都会调用函数执行
3.在调用call()和apply()可以将一个对象指定为第一个参数,此时这个对象将会成为函数执行时的this(可以通过call()和apply()来修改函数内部this的指向)
call()和apply()不同点:
call()方法可以将实参在对象之后依次传递
apply()方法需要将实参封装到一个数组中统一传递
既:fun.call(obj,2,3,4);
fun.apply(obj,[2,3,4]);
二者的调用结果相同的,调用方法不同