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 效率组装字符串 StringBuffer
Dec 23 Javascript
javascript利用初始化数据装配模版的实现代码
Nov 17 Javascript
jQuery的each终止或跳过示例代码
Dec 12 Javascript
js数组与字符串的相互转换方法
Jul 09 Javascript
javascript常用方法汇总
Dec 02 Javascript
Websocket协议详解及简单实例代码
Dec 12 Javascript
详解JavaScript按概率随机生成事件
Aug 02 Javascript
详解从新建vue项目到引入组件Element的方法
Aug 29 Javascript
React.js绑定this的5种方法(小结)
Jun 05 Javascript
js中int和string数据类型互相转化实例
Jan 16 Javascript
JS FormData对象使用方法实例详解
Feb 12 Javascript
使用jquery实现轮播图效果
Jan 02 jQuery
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.MVC的模板标签系统(四)
2006/09/05 PHP
php去除HTML标签实例
2013/11/06 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
CodeIgniter配置之SESSION用法实例分析
2016/01/19 PHP
YII Framework框架教程之缓存用法详解
2016/03/14 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
jQuery EasyUI 开源插件套装 完全替代ExtJS
2010/03/24 Javascript
jquery 之 $().hover(func1, funct2)使用方法
2012/06/14 Javascript
P3P Header解决Cookie跨域的问题
2013/03/12 Javascript
js工具方法弹出蒙版
2013/05/08 Javascript
JS对象与json字符串格式转换实例
2014/10/28 Javascript
DOM节点删除函数removeChild()用法实例
2015/01/12 Javascript
Java File类的常用方法总结
2015/03/18 Javascript
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
jQuery DateTimePicker 日期和时间插件示例
2017/01/22 Javascript
vue2.0获取自定义属性的值
2017/03/28 Javascript
JavaScript实现百度搜索框效果
2020/03/26 Javascript
5分钟快速掌握JS中var、let和const的异同
2018/09/19 Javascript
Vue项目安装插件并保存
2019/01/28 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
2019/05/07 Javascript
vue如何在用户要关闭当前网页时弹出提示的实现
2020/05/31 Javascript
Python简单实现子网掩码转换的方法
2016/04/13 Python
python3模块smtplib实现发送邮件功能
2018/05/22 Python
python实现图片彩色转化为素描
2019/01/15 Python
Python 串口读写的实现方法
2019/06/12 Python
python利用tkinter实现屏保
2019/07/30 Python
Pytorch之contiguous的用法
2019/12/31 Python
Python实现验证码识别
2020/06/15 Python
英国时尚高尔夫服装购物网站:Trendy Golf
2020/01/10 全球购物
乡镇领导班子四风对照检查材料
2014/09/27 职场文书
出生证明格式
2015/06/15 职场文书
2016中学教师读书心得体会
2016/01/13 职场文书
幼儿园教师培训心得体会
2016/01/21 职场文书
Golang连接并操作MySQL
2022/04/14 MySQL