之前我们说过 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"!