Both methods Call() and Apply() serve the exact same purpose. The only difference between how they work is that Call() expects all parameters to be passed in individually, whereas Apply() expects an array of all of our parameters. Apply lets you invoke the function with arguments as an array; Call requires the parameters be listed explicitly. A useful mnemonic is "A for array and C for comma."
theFunction.call(valueForThis, arg1, arg2, ...)