JS中call和apply方法的区别
1、call 方法
先上个小demo:
<span style="font-size:14px;">function add(a,b) { alert(a+b); } function sub(a,b) { alert(a-b); } <span style="color:#ff6600;">add</span>.call(sub,2,1); </span>
相信看完这个demo大家都明白了,就是用 add()方法来替换 sub()方法,add.call(sub,3,1) == add(3,1) ,所以运行结果为:alert(3)
2、apply方法
apply方法其实和call方法用途一样,只是在参数上略有区别:(即apply方法传入的第二个参数必须是一个参数数组,也就是说如果该apply方法不止于两个参数的话,则必须将第二个参数之后的所有参数以一个数组的形式传进来,第一个参数仍然和call方法保持一样)
如 obj.call(arg,aaa,bbb,ccc)方法对应的apply写法为:obj.apply(arg,[aaa,bbb,ccc])
,此两者所实现的效果是一样一样的。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。