foo.apply(this,arguments) == foo.call(this,arg1,arg2,…) == this.foo(arg1,arg2,…)
call, apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例,也就是每个方法都有call, apply。
相同点:两个方法产生的作用是完全一样的,将函数绑定到另外一个对象上去运行。
不同点:方法传递的参数不同,apply传递的是参数数组,call传递的是参数列表。