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