javascript - difference between call() and apply()

The main difference is that apply() lets you invoke the function with arguments as an array; call() requires the parameters be listed explicitly.

function foo(a, b, c) {}
var bar = {};
foo.apply(bar, [1, 2, 3]); // array will expand to the below
foo.call(bar, 1, 2, 3); // results in a = 1, b = 2, c = 3

Leave a Comment