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

call() 和 apply() 的作用和区别

时间:2017-09-21 21:45:31      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:nts   asc   自己的   sub   function   不同   prot   www.   html   

    call, apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例,也就是每个方法都有call, apply属性.既然作为方法的属性,那它们的使用就当然是针对方法的了.这两个方法是容易混淆的,因为它们的作用一样,只是使用方式不同.

相同点:他们的作用都是相同的 

不同点:他们的参数不同

call(this,arg1,arg2,arg3);

apply(this,arguments);

apply与call产生的作用是一样的

call, apply作用就是借用别人的方法来调用,就像调用自己的一样.

function add(a,b){
            alert(a+b);
        }
    function sub(a,b){
            alert(a-b);
        }
    add.call(sub,3,1);
    add.apply(sub,[3,1]);

他们的不同就在call的参数分别写出来apply的参数是一个数组

 

call() 和 apply() 的作用和区别

标签:nts   asc   自己的   sub   function   不同   prot   www.   html   

原文地址:http://www.cnblogs.com/czy960731/p/7571431.html

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