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

时间:5年前   阅读:3605

相同点:

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;
    }
  }

它们的用法可以通过给定的例子进行说明js返回顶部:

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

本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。

微信扫码关注

更新实时通知

上一篇:近日50ETF期权交易策略分析

下一篇:期权交易中必须要遵守的实战法则

网友评论

请先 登录 再评论,若不是会员请先 注册