Js 中apply()和call方法的作用
21 Nov 2014-
说起这两个方法的用处,还得重我今天碰到的一个问题难以接答入手。题目:
找出答案,然后给下面的代码添加一行最短的代码,使其输入 quantum entanglement
xInContext = -> console.log @x what={x: 'quantum entangment'}
-
我看到这个题目一时之间一点思路都没有,完全找不到答案啊,最后一次意外看别人的代码找到了答案,对的答案和 apply() 和call() 有关
在这里我先给出答案吧!
xInContext.apply(what) or xInContext.call(what) <b>最可悲的是知道两个答案后,我居然不知道这两个方法重何而来,又有何用</b>
call方法:
Function.call(obj,[param1[,param2[,…[,paramN]]]]) obj:这个对象将代替Function类里this对象 params:这个是一个参数列表
apply方法
Function.apply(obj,args)方法能接收两个参数 obj:这个对象将代替Function类里this对象 args:这个是数组,它将作为参数传给Function(args-->arguments)
call:和apply的意思一样,只不过是参数列表不一样.