Javascript 中call函数和apply的使用:

Javascript中的call函数和apply函数是对执行上下文进行切换,是将一个函数从当前执行的上下文切换到另一个对象中执行,例如:

sourceObj.method.call(destObj,params1,params2) 是将sourceObj中的method函数放在destObj中执行

call函数还有另外一种重要的作用,在Javascript面向对象编程中实现多继承的作用,例如:

function parentClass(){this.showText(text){alert(text);}
};function inherentClass(){parentClass.call(this);
};var instance=new inherentClass();
instance.showText('inherent caller');

View Code

当然也可以通过这种方式实现多继承的作用,只需要使用在子类中用每个父类调用call方法。

同样apply和call函数的作用大致相同,只是传入的参数不同,apply函数和call函数的参数列表中第一个参数是相同的, 在call函数中第二个参数可以是任意的参数,而apply函数的第二个参数必须是数组,且apply函数只能有2个参数。

如下简单demo一下如何使用apply函数:

function sourceObj(firstPrams,secondParams){alert(firsParams+secondParams);
}
function destObj(firstParams,seconParams){alert(firstParams*secondParams);
}sourceObj.apply(destObj,[6,2]);        //result=12

View Code

转载于:https://www.cnblogs.com/chengbing2011/p/4115518.html

Javascript中call函数和apply函数的使用相关推荐

  1. 一篇文章把你带入到JavaScript中的闭包与高级函数

    在JavaScript中,函数是一等公民.JavaScript是一门面向对象的编程语言,但是同时也有很多函数式编程的特性,如Lambda表达式,闭包,高阶函数等,函数式编程时一种编程范式. funct ...

  2. JavaScript中的String()函数与示例

    String()函数 (String() function) String() function is a predefined global function in JavaScript, it i ...

  3. JavaScript中常见的字符串操作函数及用法汇总

    转载地址:http://www.jb51.net/article/65358.htm 这篇文章主要介绍了JavaScript中常见的字符串操作函数及用法,实例汇总了javascript常见的字符串转换 ...

  4. 前端中unescape是什么意思_详解JavaScript中的Unescape()和String() 函数

    JavaScript中的Unescape()和String() 函数详解,具体内容如下所示: 定义和用法 JavaScript unescape() 函数可对通过 escape() 编码的字符串进行解 ...

  5. 移花接木—— 再谈javascript中的 call 与 apply

    2019独角兽企业重金招聘Python工程师标准>>> 在JavaScript中,call 和 apply 是Function对象自带的两个方法,这两个方法的主要作用是改变函数中的t ...

  6. pandas编写自定义函数计算多个数据列的加和(sum)、使用groupby函数和apply函数聚合计算分组内多个数据列的加和

    pandas编写自定义函数计算多个数据列的加和(sum).使用groupby函数和apply函数聚合计算分组内多个数据列的加和 目录

  7. python中raw函数_Python apply函数

    1.介绍 apply函数是 pandas里面所有函数中自由度最高的函数.该函数如下: DataFrame.apply(func, axis=0, broadcast=False, raw=False, ...

  8. 在javaScript中,变量名和函数名不能重名

    直接上代码和截图 在javaScript中,变量的名字和函数的名字不能取一样的名字(即变量名和函数名不能重名) <script type="text/javascript"& ...

  9. JavaScript中绑定事件监听函数的通用方法[ addEvent() ]

    上篇文章讲到了事件绑定的3中常用方法:传统绑定.W3C绑定方法.IE绑定方法.但是,在实际开发中对于我们来讲重要的是需要一个通用的.跨浏览器的绑定方法.如果我们在互联网上搜索一下会发现许多方法,一下是 ...

最新文章

  1. c++虚函数_「C++」对象模型和虚函数
  2. Atitit  五种IO模型attilax总结 blocking和non-blocking synchronous IO和asynchronous I
  3. [loj3056][hnoi2019]多边形
  4. 怎么上传文件到kk服务器,VS Code 关于SFTP上传文件到多服务器的配置
  5. php解析html数组,HTML中如何处理PHP传递的三维数组
  6. C++STL与泛型编程(2) 第一个C++ STL Application
  7. Linux如何从普通用户切换到root用户
  8. 当程序员真难,又一次被编辑器坑了!
  9. 高性能JavaScript-JS脚本加载与执行对性能的影响
  10. 【java】JMH微基准测试,报错Unable to find the resource: /META-INF/BenchmarkList
  11. 网络主机和交换机端口位置的有效定位方法
  12. PySpark : Structured Streaming
  13. 学生学籍管理系统C语言实现
  14. ABB机器人画圆编程_ABB机器人编程基础(功能程序)
  15. 单片机入门(预备知识)-适合初学者
  16. 不懂年轻人,还怎么带团队
  17. 屏幕分辨率:聊一聊像素
  18. C语言的fgets() 与 gets()
  19. [EOS源码分析]7.EOS智能合约开发实践之合约调用合约(inline action)
  20. redmine主题 - Flatly light redmine theme扁平化/轻主题

热门文章

  1. 《Python Cookbook 3rd》笔记(1.3):保留最近N个元素
  2. C++11学习 virtual(虚函数)的用法
  3. codeforces 96A-C语言解题报告
  4. 云计算技术背后的天才程序员:Open VSwitch鼻祖Martin Casado
  5. 起步前要做哪些准备?
  6. 如何给FLV文件加字幕
  7. Jquery Datatable 数据填充报错:requested unknown parameter ‘XXX‘ for row xx, column xx 解决方法
  8. sync - 清空文件系统缓冲区
  9. tomcat是否有必要配置环境变量(摘)
  10. 10大html5前端框架