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

 更新时间:2019年03月21日 10:52:23   作者:D星辰  
这篇文章主要介绍了javascript中call()、apply()的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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('<','>');//Foo

var someOtherObject = {
  myProperty:'Bar'
};
someObject.myMethod.call(someOtherObject,'<','>');//Bar
someObject.myMethod.apply(someOtherObject,['<','>']);//Bar
</script>

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

相关文章

  • javascript基础知识整理

    javascript基础知识整理

    这篇文章对于刚开始学习js的朋友,非常有帮助,主要知识点都已经整理好了。
    2010-06-06
  • 使用Math.floor与Math.random取随机整数的方法详解

    使用Math.floor与Math.random取随机整数的方法详解

    本篇文章对使用Math.floor与Math.random取随机整数的方法进行了详细的分析介绍。需要的朋友参考下
    2013-05-05
  • JavaScript学习笔记(一) js基本语法

    JavaScript学习笔记(一) js基本语法

    JavaScript学习笔记(一) js基本语法,想要学习js的朋友可以参考下。
    2011-10-10
  • js常用自定义公共函数汇总

    js常用自定义公共函数汇总

    本文整理了一些js常用自定义公共函数如检查是否是日期格式、判断输入的字符是否为中文、判断是否为空、固定电话、手机号码等等
    2014-01-01
  • JavaScript的==运算详解

    JavaScript的==运算详解

    这篇文章主要介绍了JavaScript的==运算,通过一张简单的图,让你彻底地搞明白,需要的朋友可以参考下
    2016-07-07
  • 全面理解JavaScript中的闭包

    全面理解JavaScript中的闭包

    将外部作用域中的局部变量封闭起来的函数对象称为闭包(Closure),被封闭起来的变量与封闭它的函数对象有相同的生命周期,这在JavaScript中比较难理解而且十分重要,接下来带大家一起来全面理解JavaScript中的闭包:
    2016-05-05
  • JavaScript中的操作符类型转换示例总结

    JavaScript中的操作符类型转换示例总结

    最近发现在前端的面试题目中经常出现操作符类型转换的题目,于是这里来进行一个JavaScript中的操作符类型转换示例总结,需要的朋友可以参考下
    2016-05-05
  • JavaScript的三座大山之单线程和异步

    JavaScript的三座大山之单线程和异步

    这篇文章主要为大家详细介绍了JavaScript之单线程和异步,使用JavaScript,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • js中widow.open()方法使用详解

    js中widow.open()方法使用详解

    本文为大家详细介绍下js中widow.open()方法的各项参数及使用示例,有想学习的朋友可不要错过了,希望对大家有所帮助
    2013-07-07
  • JavaScript中的Math.LN2属性用法详解

    JavaScript中的Math.LN2属性用法详解

    这篇文章主要介绍了JavaScript中的Math.LN2属性用法详解,是JS入门学习中的基础知识,需要的朋友可以参考下
    2015-06-06

最新评论