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 相关文章推荐
用JQuery 实现的自定义对话框
Mar 24 Javascript
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
Feb 23 Javascript
用js模拟struts2的多action调用示例
May 19 Javascript
深入对Vue.js $watch方法的理解
Mar 20 Javascript
JS实现上传图片的三种方法并实现预览图片功能
Jul 14 Javascript
form表单序列化详解(推荐)
Aug 15 Javascript
微信小程序之选项卡的实现方法
Sep 29 Javascript
Vue官网todoMVC示例代码
Jan 29 Javascript
原生JS+HTML5实现的可调节写字板功能示例
Aug 30 Javascript
vue--点击当前增加class,其他删除class的方法
Sep 15 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
Mar 28 Javascript
微信小程序配置服务器提示验证token失败的解决方法
Apr 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连接Oracle数据库
2006/10/09 PHP
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
php7新特性的理解和比较总结
2019/04/14 PHP
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
JavaScript制作简单的日历效果
2016/03/10 Javascript
jQuery EasyUI提交表单验证
2016/07/19 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
jQuery实现页面滚动时智能浮动定位
2017/01/08 Javascript
Angular使用$http.jsonp发送跨站请求的方法
2017/03/16 Javascript
详解node nvm进行node多版本管理
2017/10/21 Javascript
Vue.js划分组件的方法
2017/10/29 Javascript
JS计算两个时间相差分钟数的方法示例
2018/01/10 Javascript
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
js实现多张图片每隔一秒切换一张图片
2019/07/29 Javascript
微信小程序 checkbox使用实例解析
2019/09/09 Javascript
浅谈小程序globalData的那些事儿
2019/11/01 Javascript
vue使用原生swiper代码实例
2020/02/05 Javascript
JS加载解析Markdown文档过程详解
2020/05/19 Javascript
vue使用require.context实现动态注册路由
2020/12/25 Vue.js
Python中使用pprint函数进行格式化输出的教程
2015/04/07 Python
python开发之thread实现布朗运动的方法
2015/11/11 Python
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
2018/01/16 Python
Python爬虫信息输入及页面的切换方法
2018/05/11 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
Html5实现用户注册自动校验功能实例代码
2016/05/24 HTML / CSS
某公司C#程序员面试题笔试题
2014/05/26 面试题
网络教育自我鉴定
2013/11/01 职场文书
门卫工作岗位职责
2013/12/17 职场文书
入党自荐书范文
2014/03/09 职场文书
元旦晚会感言
2014/03/12 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书
html5 录制mp3音频支持采样率和比特率设置
2021/07/15 Javascript
分享mysql的current_timestamp小坑及解决
2021/11/27 MySQL
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript