Javascript中的apply()方法浅析

  作者:bea

之前我们说过 Javascript Call 方法,这次我们就说说和Call方法类似的apply方法。 apply vs call 两者间的不同在于:传递的是参数,还是参数数组 这个是call的用法 代码如下: theFunction.call(valueForThis, arg1, arg2, ...) 而这个则是apply 代码如下: theFunction.apply(valueForThis, arrayOfArgs) 故而 代码如下: ar
之前我们说过 Javascript Call 方法,这次我们就说说和Call方法类似的apply方法。
apply vs call
两者间的不同在于:传递的是参数,还是参数数组
这个是call的用法

代码如下:


theFunction.call(valueForThis, arg1, arg2, ...)


而这个则是apply


代码如下:


theFunction.apply(valueForThis, arrayOfArgs)


故而


代码如下:


arrayOfArgs = [arg1, arg2, ...];



Javascript apply 方法
先看看之前的call的用法

代码如下:


function print(p1, p2) {
    console.log( p1 + ' ' + p2);
}
print.call(undefined, "Hello", "World");


由上面的叙述,我们可以得出当


代码如下:


    args =  "Hello", "World";
function print(p1, p2) {
    console.log( p1 + ' ' + p2);
}
print.call(undefined, args);


两者是等价的,而实际上他们也是等价的,输出结果同样是"Hello,World"!



有用  |  无用

猜你喜欢