首页 > 编程 > JavaScript > 正文

javascript中call()、apply()的区别

2019-11-19 11:57:38
字体:
来源:转载
供稿:网友

call()、apply()的区别:

相同点:

1.call()和apply()都可以用来间接调用函数,都可以显式调用所需的this。即,任何函数可以作为任何对象的方法来调用。

2.两个方法都可以指定调用实参。

 区别:

call()和apply()的基本区别:在于将参数传递给函数。

call():使用其自有的实参列表作为函数的参数;

apply():要求以数组的形式传入参数。

function track(o,m){    var original =o[m];    o[m] =function( ){      console.log(new Date(),m);      var results =original.apply(this,arguments);      console.log(new Date(),m);      return results;    }  }

它们的用法可以通过给定的例子进行说明:

<script>var someObject = {  myProperty:'Foo',  myMethod:function (prefix,posfix) {    console.log(prefix + this.myProperty + posfix);  }};someObject.myMethod('<','>');//Foovar someOtherObject = {  myProperty:'Bar'};someObject.myMethod.call(someOtherObject,'<','>');//BarsomeObject.myMethod.apply(someOtherObject,['<','>']);//Bar</script>

以上所述是小编给大家介绍的javascript中call()、apply()的区别详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表