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 EasyUI 的EasyLoader功能介绍
Sep 12 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
Mar 08 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
Aug 11 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
Oct 08 Javascript
jquery实现无刷新验证码的简单实例
May 19 Javascript
Bootstrap图片轮播组件使用实例解析
Jun 30 Javascript
如何提高数据访问速度
Dec 26 Javascript
Ionic项目中Native Camera的使用方法
Jun 07 Javascript
浅谈react-router HashRouter和BrowserRouter的使用
Dec 29 Javascript
深入理解node.js http模块
Jan 24 Javascript
vue导航栏部分的动态渲染实例
Nov 01 Javascript
JQuery插件tablesorter表格排序实现过程解析
May 28 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
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
2011/04/18 PHP
apache mysql php 源码编译使用方法
2012/05/03 PHP
thinkphp区间查询、统计查询与SQL直接查询实例分析
2014/11/24 PHP
php函数连续调用实例分析
2015/07/30 PHP
PHP Swoole异步MySQL客户端实现方法示例
2019/10/24 PHP
尽可能写&quot;友好&quot;的&quot;Javascript&quot;代码
2007/01/09 Javascript
网页上的Javascript编辑器和代码格式化
2010/04/25 Javascript
jquery与js函数冲突的两种解决方法
2013/09/09 Javascript
javascript实现全角半角检测的方法
2015/07/23 Javascript
JS封装cookie操作函数实例(设置、读取、删除)
2015/11/17 Javascript
JS实现DIV高度自适应窗口示例
2017/02/16 Javascript
vue params、query传参使用详解
2017/09/12 Javascript
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
2018/04/21 Javascript
Javascript实现购物车功能的详细代码
2018/05/08 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
vue.config.js常用配置详解
2019/11/14 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
2020/08/14 Javascript
Python中文竖排显示的方法
2015/07/28 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
python线程池threadpool实现篇
2018/04/27 Python
python 读取目录下csv文件并绘制曲线v111的方法
2018/07/06 Python
python 求1-100之间的奇数或者偶数之和的实例
2019/06/11 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
2019/07/25 Python
详解tensorflow之过拟合问题实战
2020/11/01 Python
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
欧洲有机婴儿食品最大的市场:Organic Baby Food(供美国和加拿大)
2018/03/28 全球购物
英国伦敦的睡衣品牌:Asceno
2019/10/06 全球购物
四川internet信息高速公路(C#)笔试题
2012/02/29 面试题
高校教师个人总结
2015/02/10 职场文书
教导主任个人总结
2015/03/03 职场文书
讲座通知范文
2015/04/23 职场文书
学校党支部承诺书
2015/04/30 职场文书
《海上日出》教学反思
2016/02/23 职场文书
mysql中varchar类型的日期进行比较、排序等操作的实现
2021/11/17 MySQL
vue3引入highlight.js进行代码高亮的方法实例
2022/04/08 Vue.js