Apply Call
//From http://stackoverflow.com/questions/1986896/what-is-the-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.
See here and here.
Pseudo syntax: theFunction.apply(valueForThis, arrayOfArgs)
theFunction.call(valueForThis, arg1, arg2, ...)
Sample code: */
function theFunction(name, profession) {
alert("My name is " + name + " and I am a " + profession + ".");
}
theFunction("John", "fireman");
theFunction.apply(undefined, ["Susan", "school teacher"]);
theFunction.call(undefined, "Claude", "mathematician");