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中valueOf函数与toString方法深入理解
Dec 02 Javascript
js过滤HTML标签以及空格的思路及代码
May 24 Javascript
js获取光标位置和设置文本框光标位置示例代码
Jan 09 Javascript
页面图片浮动左右滑动效果的简单实现案例
Feb 10 Javascript
JavaScript学习心得之概述
Jan 20 Javascript
JavaScript实现表格快速变色效果代码
Aug 19 Javascript
bootstrap下拉框动态赋值方法
Aug 10 Javascript
Jquery实现无缝向上循环滚动列表的特效
Feb 13 jQuery
js实现页面多个日期时间倒计时效果
Jun 20 Javascript
vue router总结 $router和$route及router与 router与route区别
Jul 05 Javascript
微信小程序授权登陆及每次检查是否授权实例代码
Sep 18 Javascript
吃通javascript正则表达式
Apr 21 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获取文件绝对路径的代码(上一级目录)
2011/05/29 PHP
php 使用fopen函数创建、打开文件详解及实例代码
2016/09/24 PHP
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
使用iframe window的scroll方法控制iframe页面滚动
2014/03/05 Javascript
JS实用的动画弹出层效果实例
2015/05/05 Javascript
JS与jQ读取xml文件的方法
2015/12/08 Javascript
JavaScript截取、切割字符串的技巧
2016/01/07 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
2017/12/19 Javascript
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
vue判断input输入内容全是空格的方法
2018/03/02 Javascript
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
2019/04/29 Javascript
vue实现简单的登录弹出框
2020/10/26 Javascript
[01:30]2016国际邀请赛中国区预选赛神秘商店火爆开启
2016/06/26 DOTA
[00:37]2016完美“圣”典风云人物:AMS宣传片
2016/12/06 DOTA
深入解析Python中的WSGI接口
2015/05/11 Python
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
Python之pandas读写文件乱码的解决方法
2018/04/20 Python
完美解决在oj中Python的循环输入问题
2018/06/25 Python
浅谈Django2.0 加xadmin踩的坑
2019/11/15 Python
python ctypes库2_指定参数类型和返回类型详解
2019/11/19 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
Window版下在Jupyter中编写TensorFlow的环境搭建
2020/04/10 Python
Vrbo英国:预订度假屋
2020/08/19 全球购物
办公室文员工作自我评价
2013/12/01 职场文书
迟到检讨书900字
2014/01/14 职场文书
学校领导班子四风对照检查材料
2014/09/27 职场文书
公务员年度考核登记表个人总结
2015/02/12 职场文书
观后感格式
2015/06/19 职场文书
2016年社区综治宣传月活动总结
2016/03/16 职场文书
建国70周年的心得体会(2篇)
2019/09/20 职场文书
导游词之珠海轮廓
2019/10/25 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
Redis高级数据类型Hyperloglog、Bitmap的使用
2021/05/24 Redis