Thursday, November 8, 2012

Difference between call and apply in javascript


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

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");