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

Posted Ambition

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了call() 和 apply() 的作用和区别相关的知识,希望对你有一定的参考价值。

    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() 的作用和区别的主要内容,如果未能解决你的问题,请参考以下文章

call和apply的作用和区别

call() apply() bind()方法的作用和区别!

Javascript中call()方法和apply()方法的作用与区别

call和apply区别

Js中call和apply的区别和用法是啥?

call和apply的区别