 <h3>regarding second example</h3> <p>In the second exaple you have given</p> <pre><code>$("#div").someEvent(myFunction()); </code></pre> <p>the result of the function call is registered to execute on when the <code>someEvent</code> happens. So when the event is registered the function call happens and its result is assigned there. </p> <p>This approach can be used when <code>myFunction</code> is a function which returns a function when it is executed.</p> <p>like</p> <pre><code>var myFunction = function () { return function(){ myFunction(); } } </code></pre> <h3>regarding first example</h3> <pre><code>$("#div").someEvent(function(){ myFunction(); }); </code></pre> <p>you are registering an anonymous function and it will get executed when the <code>someEvent</code> happens. </p> <h3>putting it together</h3> <p>To explain more </p> <pre><code>var myFunctionGenerator = function() { return function(){ myFunction(); } } //case1 $("#div").someEvent(function(){ myFunction(); }); //case2 $("#div").someEvent(myFunctionGenerator()); </code></pre> <p>In above sample both the code sample will be doing the same job. Only difference will be that the case2 will leave the reference to the function generator even after the code is executed.</p>