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]);

二者的调用结果相同的,调用方法不同