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 相关文章推荐
数组Array进行原型prototype扩展后带来的for in遍历问题
Feb 07 Javascript
Chrome中模态对话框showModalDialog返回值问题的解决方法
May 25 Javascript
基于jquery的表头固定的若干方法
Jan 27 Javascript
JS仿flash上传头像效果实现代码
Jul 18 Javascript
node.js中的events.emitter.removeListener方法使用说明
Dec 10 Javascript
延时加载JavaScript代码提高速度
Dec 27 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
Feb 22 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
Mar 09 Javascript
原生js实现验证码功能
Mar 16 Javascript
使用socket.io实现简单聊天室案例
Jan 02 Javascript
jquery.pagination.js分页使用教程
Oct 23 jQuery
微信小程序如何调用图片接口API并居中显示
Jun 29 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的PSR规范中文版
2013/09/28 PHP
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
PHP闭包函数传参及使用外部变量的方法
2016/03/15 PHP
JSON字符串传到后台PHP处理问题的解决方法
2016/06/05 PHP
php多线程并发实现方法
2016/09/30 PHP
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
2010/05/15 Javascript
20款超赞的jQuery插件 Web开发人员必备
2011/02/26 Javascript
js 左右悬浮对联广告代码示例
2014/12/12 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
javascript处理a标签超链接默认事件的方法
2015/06/29 Javascript
js绘制圆形和矩形的方法
2015/08/05 Javascript
jQuery实现可高亮显示的二级CSS菜单效果
2015/09/01 Javascript
Spring mvc 接收json对象
2015/12/10 Javascript
JS从一组数据中找到指定的单条数据的方法
2016/06/02 Javascript
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
2018/01/31 Javascript
JS简单添加元素新节点的方法示例
2018/02/10 Javascript
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
2018/03/28 jQuery
vue使用ajax获取后台数据进行显示的示例
2018/08/09 Javascript
基于JavaScript的数据结构队列动画实现示例解析
2020/08/06 Javascript
Python编写简单的HTML页面合并脚本
2016/07/11 Python
python实现学生信息管理系统
2020/04/05 Python
Python序列循环移位的3种方法推荐
2018/04/09 Python
python库lxml在linux和WIN系统下的安装
2018/06/24 Python
django基础学习之send_mail功能
2019/08/07 Python
css3 按钮 利用css3实现超酷下载按钮
2013/03/18 HTML / CSS
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
HTML5对手机页面长按会粘贴复制禁用的解决方法
2016/07/19 HTML / CSS
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
澳大利亚领先的在线机械五金、园艺和存储专家:Edisons
2018/03/24 全球购物
物业管理应届生求职信
2013/10/28 职场文书
应届本科生推荐信范文
2013/12/25 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
2014年幼师工作总结
2014/11/22 职场文书
详解Python flask的前后端交互
2022/03/31 Python