首页 > 试题广场 >

.call() 和 .apply() 的作用

[问答题]
.call() 和 .apply() 的作用?

apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性.

Function.apply(obj,args)方法能接收两个参数
obj:这个对象将代替Function类里this对象
args:这个是数组,它将作为参数传给Function(args-->arguments)

call:和apply的意思一样,只不过是参数列表不一样.

Function.call(obj,[param1[,param2[,…[,paramN]]]])
obj:这个对象将代替Function类里this对象
params:这个是一个参数列表

发表于 2016-12-14 15:44:39 回复(0)
相同:改变this指向 不同:传参列表不同,call参数分开传,apply参数是一个数组
发表于 2019-05-22 11:20:25 回复(0)
改变上下文,即this的指向
发表于 2015-12-14 21:52:09 回复(0)
函数调用时,指定其this指向,剩余参数依次书写,用call( )
函数调用时,指定其this指向,剩余参数用数组书写,用aaply( )
发表于 2022-08-13 08:18:08 回复(0)
call,apply,bind都类似,bind返回的是个新的函数
发表于 2020-11-19 10:58:48 回复(0)
<p>改变this指向,劫持另一个对象的属性方法供自己使用</p><p><br></p>
发表于 2020-11-17 22:39:59 回复(0)
相同点:call() 和 apply()里的第一个参数可以指定this的指向对象。
不同点:call()的第二个参数传的是字符,apply()的第二个参数传的是数组。
发表于 2020-11-05 14:29:26 回复(0)
<p>改变this的指向</p><p>使用方式的不同,参数传递</p>
发表于 2020-08-29 16:38:54 回复(0)
call 分别接受参数 apply 接受数组形式参数
发表于 2020-05-28 14:21:25 回复(0)

改变this 上下文指向

发表于 2020-02-29 21:29:42 回复(0)
call()和apply()的第一个参数都可以改变this的指向,第二个参数call()传的是字符,apply()传的是数组
发表于 2019-12-02 09:52:28 回复(0)

改变方法的运行环境,也就是this指向

发表于 2019-10-12 15:00:32 回复(0)

动态改变某个方法的运行环境

发表于 2019-10-12 08:36:44 回复(0)

.call()和.apply()都是改变this的指向

发表于 2019-06-07 12:13:22 回复(0)
动态改变某个类的某个方法的运行环境
发表于 2019-05-03 13:53:03 回复(0)
改变this的指向
发表于 2018-09-15 10:10:31 回复(0)
可以理解为,call()里面的第一个函数对象,带着自己的家人,包括它自己,这里指this指向,和其它几个参数都指向了调用者,替换了调用者的this指向。
发表于 2017-02-19 23:56:02 回复(0)
动态改变某个类的某个方法的运行环境
发表于 2015-07-27 14:39:48 回复(0)