博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
call & apply
阅读量:5918 次
发布时间:2019-06-19

本文共 624 字,大约阅读时间需要 2 分钟。

定义:

  call:调用一个对象的一个方法,以另一个对象替换当前对象。

  apply:应用某一对象的一个方法,用另一个对象替换当前对象。

语法:

  call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 

  apply([thisObj[,argArray]])

区别:

  call和apply用法几乎一样,第一个参数为一个对象,不同之处在于第一个参数后参数的不同。call第一个参数后的参数为参数列表;apply第一个参数后的参数为数组。

实例:

apply:

function sub(a, b){	console.log(a-b);}function add(a, b){	console.log(a+b);}add.apply(sub, [2, 3]);//5

call:  

function sub(a, b){	console.log(a-b);}function add(a, b){	console.log(a+b);}add.call(sub, 2, 3);//5

由上例可以看出,当使用apply时,apply的第二个参数为数组参数。当使用call时,call的参数为列表。从结果可以看出函数add()替换了函数sub()运行。(也可以看成在sub函数执行时调用并执行了add函数)  

 

  

转载于:https://www.cnblogs.com/ruir/p/8403724.html

你可能感兴趣的文章
linux xfce 桌面环境 显示桌面 快捷键的实现
查看>>
关于异常的抛出,捕获和拦截的新理解
查看>>
RHEL 6.5 本地源设置
查看>>
《Gradle 系列》- IDEA构建Java项目
查看>>
Eclipse添加中文语言包与下载
查看>>
Python一课一练(表单提交)
查看>>
由setParameter()导致的IllegalArgumentException的解决方案
查看>>
Task Worker进程
查看>>
用Swing定制流动的Link样式
查看>>
SGU 105
查看>>
sgu 271
查看>>
员工!你不知道公司的那些事儿
查看>>
Oracle SQL语句之常见优化方法总结
查看>>
俄罗斯约会网站2000万用户数据被泄露
查看>>
深入理解 C# 协变和逆变
查看>>
Debian for armel 进展情况
查看>>
Struts上路_15-处理表单重复提交
查看>>
Elasticsearch(查询详解)
查看>>
HTML 图像
查看>>
Mac OSX Tools
查看>>