Js中call()和apply方法之间的区别?
call()和apply()的用法:
- call(): funcName.call(obj,param1,param2,param3,…);
- apply(): funcName.apply(obj,[param1,param2,param3,…]);
相同点:都能改变方法执行的上下文,将一个对象的方法交给另一个对象来执行,并且是立即执行
不同点:
- call()是分别接收参数,即接收参数为一个列表;
- apply() 只能接收两个参数,第二个参数只能以数组的形式呈现
一般不传参数或者只传一个参数的情况下用call(),传多个参数或者需要以数组形式传参使用apply()方法。