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 相关文章推荐
js 匿名调用实现代码
Jun 19 Javascript
使用ExtJS技术实现的拖动树结点
Aug 05 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
Mar 27 Javascript
jquery动态添加删除一行数据示例
Jun 12 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
Mar 12 Javascript
APP中javascript+css3实现下拉刷新效果
Jan 27 Javascript
js简单判断移动端系统的方法
Feb 25 Javascript
原生js的RSA和AES加密解密算法
Oct 08 Javascript
在node中如何使用 ES6
Apr 22 Javascript
分析JavaScript数组操作难点
Dec 18 Javascript
从零开始封装自己的自定义Vue组件
Oct 09 Javascript
vue中h5端打开app(判断是安卓还是苹果)
Feb 26 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
短波问题解答
2021/02/28 无线电
推荐php模板技术[转]
2007/01/04 PHP
php处理restful请求的路由类分享
2014/02/27 PHP
分享常见的几种页面静态化的方法
2015/01/08 PHP
php运行时动态创建函数的方法
2015/03/16 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
IE php关于强制下载文件的代码
2008/08/23 Javascript
jquery 输入框数字限制插件
2009/11/10 Javascript
javascript开发中因空格引发的错误
2010/11/08 Javascript
jquery使用jxl插件导出excel示例
2014/04/14 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
AngularJs IE Compatibility 兼容老版本IE
2016/09/01 Javascript
基于Bootstrap仿淘宝分页控件实现代码
2016/11/07 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
2018/08/11 Javascript
express如何解决ajax跨域访问session失效问题详解
2019/06/20 Javascript
[20:30]职业巡回赛回顾
2018/08/09 DOTA
Python中用函数作为返回值和实现闭包的教程
2015/04/27 Python
Mac 上切换Python多版本
2017/06/17 Python
Python使用matplotlib填充图形指定区域代码示例
2018/01/16 Python
python多进程提取处理大量文本的关键词方法
2018/06/05 Python
对python中不同模块(函数、类、变量)的调用详解
2019/07/16 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
python 6.7 编写printTable()函数表格打印(完整代码)
2020/03/25 Python
基于python纯函数实现井字棋游戏
2020/05/27 Python
解决python运行效率不高的问题
2020/07/20 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
matplotlib bar()实现百分比堆积柱状图
2021/02/24 Python
党员承诺书格式
2014/05/21 职场文书
小学师德师风整改措施
2014/10/27 职场文书
股权转让协议书
2014/12/07 职场文书
本科毕业论文导师评语
2014/12/31 职场文书
go 原生http web 服务跨域restful api的写法介绍
2021/04/27 Golang
python 实现图与图之间的间距调整subplots_adjust
2021/05/21 Python
react 项目中引入图片的几种方式
2021/06/02 Javascript
DQL数据查询语句使用示例
2022/12/24 MySQL