call和apply的区别

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

call和apply的区别
call和apply的区别:
1、call函数和apply⽅法的第⼀个参数都是要传⼊给当前对象的对象,即函数内部的this。

后⾯的参数都是传递给当前对象的参数。

2、俩者的格式和参数定义:
call的语法:call(thisObj,arg1,arg2……)
apply的语法:apply(thisObj,[argArray])
3、说明:对于apply和call两者在作⽤上是相同的,但两者
在参数上有区别的。

对于第⼀个参数意义都⼀样,但对第⼆个参数:apply传⼊的是⼀个参数数组,也就是将多个参数组合成为⼀个数组传⼊,⽽call则作为call的参数传⼊(从第⼆个参数开始)。

eg: fun.call(thisObj,arg1,arg2,arg3)对应的apply写法为:fun.apply(thisObj,[arg1,arg2,arg3])。

4、call和apply的作⽤
①调⽤函数
②传参数
③借⽤其他函数的⽅法:
④改变函数内部的this指向
Call的简单⽤法:
Apply的简单⽤法:
实现继承:
说明:谁调⽤this就指向谁,Animal.call(this,name)将指向变成了Animall。

原本指向的是Cat,这样⼀来Cat就继承了Animal的属性和⽅法。

实现多重继承:。

相关文档
最新文档