javascript继承call和apply的区别

2025-04-27 16:20:24
推荐回答(2个)
回答1:

call和apply它们的作用都是将函数绑定到另外一个对象上去运行,两者仅在定义参数方式有所区别,
也就是说调用的时候传参数的格式有区别,其他没有任何差别。
比如有对象a,函数b(参数一,参数二),函数b在a中执行
b.call(a,参数一,参数二);
b.apply(a,[参数一,参数二]);
可以发现call直接把参数列举出来,而apply把参数放在数组中列举出来!

回答2:

apply  
此函数会导致xx直接调用,xx的参数需要以数组的方式作为apply的第二个参数
xx.apply(新的this对象, [参数1, 参数2, 参数3]);
 
call 
此函数会导致xx直接调用,xx的参数从call的第二个参数起依次传入
xx.call(新的this对象, 参数1, 参数2, 参数3);