In javascript, passing a set of parameters to a function, calls the function, it is calculated on the return value of the function.
var test = function() { return 1; }
alert(test.toString());
alert(test().toString());
Even alertby itself is just a variable that points to a function.
alert(alert); // => "function alert() { [native code] }"
, , runSomething(), , bind(). alert() , undefined bind()
, runSomething, bind(). Bind , .
, , , (, ) ...
var counter = 0;
function GenerateNext() {
counter++;
return new Function("alert(" + counter + ")");
}
a = GenerateNext();
b = GenerateNext();
b()
a()
$(selector).bind('event', GenerateNext());
$(selector).bind('event', a);
$(selector).bind('event', b);
, ; .