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 入门教程 [翻译] 推荐
Aug 17 Javascript
javascript json 新手入门文档
Dec 03 Javascript
jQuery入门问答 整理的几个常见的初学者问题
Feb 22 Javascript
JS获取当前网址、主机地址项目根路径
Nov 19 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
Aug 17 Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
Nov 01 Javascript
jquery之别踩白块游戏的简单实现
Jul 25 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
Oct 17 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
Dec 11 Javascript
微信小程序中网络请求缓存的解决方法
Dec 29 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
Apr 26 Javascript
Node 使用express-http-proxy 做api网关的实现
Oct 15 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
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
php实现读取和写入tab分割的文件
2015/06/01 PHP
PHP7扩展开发教程之Hello World实现方法示例
2017/08/03 PHP
php app支付宝回调(异步通知)详解
2018/07/25 PHP
javascript:void(0)的作用示例介绍
2013/10/28 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
2013/11/22 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
jQuery中animate动画第二次点击事件没反应
2015/05/07 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
jQuery仿淘宝网产品品牌隐藏与显示效果
2015/09/01 Javascript
JavaScript数组去重的五种方法
2015/11/05 Javascript
JavaScript模拟push
2016/03/06 Javascript
JavaScript弹窗基础篇
2016/04/27 Javascript
完美的js div拖拽实例代码
2016/09/24 Javascript
微信小程序实战之运维小项目
2017/01/17 Javascript
第一个Vue插件从封装到发布
2017/11/22 Javascript
微信小程序多音频播放进度条问题
2018/08/28 Javascript
微信小程序实现批量倒计时功能
2020/11/01 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
vue路由 遍历生成复数router-link的例子
2019/10/30 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
使用Vue-cli 中为单独页面设置背景图片铺满全屏
2020/07/17 Javascript
jQuery中event.target和this的区别详解
2020/08/13 jQuery
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
2018/07/11 Python
python数据持久存储 pickle模块的基本使用方法解析
2019/08/30 Python
Django中modelform组件实例用法总结
2020/02/10 Python
django的autoreload机制实现
2020/06/03 Python
css3教程之倾斜页面
2014/01/27 HTML / CSS
Bluebella美国官网:英国性感内衣品牌
2018/10/04 全球购物
创业融资计划书
2014/04/25 职场文书
工商管理专业自荐信
2014/06/03 职场文书
2014年会计个人工作总结
2014/11/24 职场文书
入学证明
2015/06/23 职场文书
祝寿主持词
2015/07/02 职场文书
社区挂职锻炼个人工作总结
2015/10/23 职场文书
Python中的pprint模块
2021/11/27 Python