call() 和 apply()时函数对象的方法,需要通过函数对象来调用:eg:fun.call();
调用结果是运行函数,和fun();表面上没有区别
但可以将一个对象指定为第一个参数,此时这个对象就会成为函数执行时的 this ;
区别:
call()遇到有参函数时 可以将实参在对象之后依次传递。eg:fun.call(obj1,a,b)
但apply需要将实参封装在一个数组中统一传递。eg: fun.apply(obj2,[a,b])
call() 和 apply()时函数对象的方法,需要通过函数对象来调用:eg:fun.call();
调用结果是运行函数,和fun();表面上没有区别
但可以将一个对象指定为第一个参数,此时这个对象就会成为函数执行时的 this ;
区别:
call()遇到有参函数时 可以将实参在对象之后依次传递。eg:fun.call(obj1,a,b)
但apply需要将实参封装在一个数组中统一传递。eg: fun.apply(obj2,[a,b])