之前我們說過 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"!