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 绑定时间实现代码
May 03 Javascript
js正则表达exec与match的区别说明
Jan 29 Javascript
JS实现左右拖动改变内容显示区域大小的方法
Oct 13 Javascript
js+html5实现canvas绘制椭圆形图案的方法
May 21 Javascript
vue数据双向绑定原理解析(get &amp; set)
Mar 08 Javascript
Vue.js实现移动端短信验证码功能
Mar 29 Javascript
vue.js开发环境搭建教程
May 04 Javascript
Node.JS更改Windows注册表Regedit的方法小结
Aug 18 Javascript
webpack3之loader全解析
Oct 26 Javascript
socket io与vue-cli的结合使用的示例代码
Nov 01 Javascript
jquery层次选择器的介绍
Jan 18 jQuery
微信小程序以ssm做后台开发的实现示例
Apr 08 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
获得Google PR值的PHP代码
2007/01/28 PHP
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
2012/05/07 PHP
php构造函数实例讲解
2013/11/13 PHP
了解PHP的返回引用和局部静态变量
2015/06/04 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
php事件驱动化设计详解
2016/11/10 PHP
php加密之discuz内容经典加密方式实例详解
2017/02/04 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
addEventListener和attachEvent二者绑定的执行函数中的this不相同
2012/12/09 Javascript
JS简单的图片放大缩小的两种方法
2013/11/11 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
JS在IE下缺少标识符的错误
2014/07/23 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
2014/11/28 Javascript
javascript实现在指定元素中垂直水平居中
2015/09/13 Javascript
js+css简单实现网页换肤效果
2015/12/29 Javascript
利用JS实现简单的瀑布流加载图片效果
2017/04/22 Javascript
Vux+Axios拦截器增加loading的问题及实现方法
2018/11/08 Javascript
详解Vue 单文件组件的三种写法
2020/02/19 Javascript
vue使用nprogress加载路由进度条的方法
2020/06/04 Javascript
vue-router 2.0 跳转之router.push()用法说明
2020/08/12 Javascript
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
pandas使用apply多列生成一列数据的实例
2018/11/28 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
Python cookie的保存与读取、SSL讲解
2020/02/17 Python
html5设计原理(推荐收藏)
2014/05/17 HTML / CSS
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
时尚圣经:The Fashion Bible
2019/03/03 全球购物
工程师自我评价怎么写
2013/09/19 职场文书
大三预备党员入党思想汇报
2014/01/08 职场文书
商务考察邀请函范文
2014/01/21 职场文书
分公司负责人任命书
2014/06/04 职场文书
村党的群众路线教育实践活动工作总结
2014/10/25 职场文书
银行实习推荐信
2015/03/27 职场文书
结婚典礼主持词
2015/06/29 职场文书