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() bind()方法的作用和区别!