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 相关文章推荐
javascript之Array 数组对象详解
Jun 07 Javascript
jquery validate表单验证插件
Sep 06 Javascript
JavaScript交换两个变量值的七种解决方案
Dec 01 Javascript
js实现日历与定时器
Feb 22 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
Jun 02 jQuery
详解vue项目优化之按需加载组件-使用webpack require.ensure
Jun 13 Javascript
Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
Jun 10 Javascript
JS实现中英文混合文字溢出友好截取功能
Aug 06 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
May 13 Javascript
react实现同页面三级跳转路由布局
Sep 26 Javascript
TypeScript之调用栈的实现
Dec 31 Javascript
手动实现vue2.0的双向数据绑定原理详解
Feb 06 Vue.js
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实现采集程序原理和简单示例代码
2007/03/18 PHP
php生成不重复随机数、数组的4种方法分享
2015/03/30 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
PHP简单实现欧拉函数Euler功能示例
2017/11/06 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
一次因composer错误使用引发的问题与解决
2019/03/06 PHP
php使用json-schema模块实现json校验示例
2019/09/28 PHP
在子窗口中关闭父窗口的一句代码
2013/10/21 Javascript
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
2013/11/18 NodeJs
html5 canvas js(数字时钟)实例代码
2013/12/23 Javascript
jquery+ajax实现跨域请求的方法
2015/01/20 Javascript
bootstrap-datetimepicker实现只显示到日期的方法
2016/11/25 Javascript
在小程序中集成redux/immutable/thunk第三方库的方法
2018/08/12 Javascript
详解webpack模块加载器兼打包工具
2018/09/11 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
2019/04/10 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
2020/08/07 Javascript
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
python字典排序实例详解
2015/05/20 Python
详解python字节码
2018/02/07 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
2019/02/17 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
python异步编程 使用yield from过程解析
2019/09/25 Python
详解python logging日志传输
2020/07/01 Python
银行出纳岗位职责
2013/11/25 职场文书
伊琍体标语
2014/06/25 职场文书
公司年底活动方案
2014/08/17 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
村委会贫困证明范本
2014/09/17 职场文书
拾金不昧感谢信
2015/01/21 职场文书
幼儿园教师自荐书
2015/03/06 职场文书
2015年前台个人工作总结
2015/04/03 职场文书
go 实现简易端口扫描的示例
2021/05/22 Golang
试了下Golang实现try catch的方法
2021/07/01 Golang
java基础——多线程
2021/07/03 Java/Android