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


Posted in Javascript onMarch 21, 2019

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 相关文章推荐
吐槽一下我所了解的Node.js
Oct 08 Javascript
win7下安装配置node.js+express开发环境
Dec 06 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
Mar 05 Javascript
iframe中使用jquery进行查找的方法【案例分析】
Jun 17 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
Dec 14 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
Dec 26 Javascript
详解js前端代码异常监控
Jan 11 Javascript
vue双花括号的使用方法 附练习题
Nov 07 Javascript
高性能的javascript之加载顺序与执行原理篇
Jan 14 Javascript
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
Apr 08 Javascript
elementUI table表格动态合并的示例代码
May 15 Javascript
Javascript作用域和作用域链原理解析
Mar 03 Javascript
vue实现微信获取用户信息的方法
Mar 21 #Javascript
vue里如何主动销毁keep-alive缓存的组件
Mar 21 #Javascript
基于node简单实现RSA加解密的方法步骤
Mar 21 #Javascript
详解React项目如何修改打包地址(编译输出文件地址)
Mar 21 #Javascript
js实现unicode码字符串与utf8字节数据互转详解
Mar 21 #Javascript
详解JS取出两个数组中的不同或相同元素
Mar 20 #Javascript
详解vue中axios的使用与封装
Mar 20 #Javascript
You might like
php创建基本身份认证站点的方法详解
2013/06/08 PHP
PHP中array_slice函数用法实例详解
2014/11/25 PHP
PHP实现的浏览器检查类
2016/04/11 PHP
Javascript 不能释放内存.
2006/09/07 Javascript
关于JavaScript的一些看法
2009/05/27 Javascript
window.onbeforeunload方法在IE下无法正常工作的解决办法
2010/01/23 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
jQuery简单获取键盘事件的方法
2016/01/22 Javascript
谈一谈js中的执行环境及作用域
2016/03/30 Javascript
javascript事件委托的用法及其好处简析
2016/04/04 Javascript
js正则表达式replace替换变量方法
2016/05/21 Javascript
Javascript之面向对象--封装
2016/12/02 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
vue之数据交互实例代码
2017/06/20 Javascript
JS实现简单获取最近7天和最近3天日期的方法
2018/04/18 Javascript
vue定义全局变量和全局方法的方法示例
2018/08/01 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
2018/08/24 Javascript
python 简易计算器程序,代码就几行
2009/08/29 Python
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
Django REST为文件属性输出完整URL的方法
2017/12/18 Python
Python random模块用法解析及简单示例
2017/12/18 Python
python+PyQT实现系统桌面时钟
2020/06/16 Python
Python3.7安装keras和TensorFlow的教程图解
2020/06/18 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
python由已知数组快速生成新数组的方法
2020/04/08 Python
Python jieba结巴分词原理及用法解析
2020/11/05 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
2020/11/11 Python
Capitol Lighting的1800lighting.com:住宅和商业照明
2019/04/10 全球购物
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
2012/02/06 面试题
店长岗位的工作内容
2013/11/12 职场文书
难忘的一课教学反思
2014/04/30 职场文书
法制教育演讲稿
2014/09/10 职场文书
高三英语教学计划
2015/01/23 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
python中 .npy文件的读写操作实例
2022/04/14 Python
关于mysql中string和number的转换问题
2022/06/14 MySQL