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"!