码迷,mamicode.com
首页 > 移动开发 > 详细

JS中call和apply方法的区别

时间:2014-09-12 17:18:33      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:js中call和apply方法的区别   all和apply的区别   js call apply 区别   call和apply的区别   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]) ,此两者所实现的效果是一样一样的。

JS中call和apply方法的区别

标签:js中call和apply方法的区别   all和apply的区别   js call apply 区别   call和apply的区别   call apply   

原文地址:http://blog.csdn.net/jiaohougenyang/article/details/39230399

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!