Reputation: 601
I am reading javascript
web application and the author is using following code:
mod.load = function(func){
$($.proxy(func, this));
};
Can someone help me to understand why returning function from jQuery.proxy
is inside jQuery
wrapper.
Is this the same as:
mod.load = function(func){
var temp = $.proxy(func, this);
temp();
};
Upvotes: 1
Views: 285
Reputation: 262919
Calling $() with a function argument is equivalent to applying $(document).ready() to that function: it waits for the DOM to be ready before calling it.
Therefore, in your second example, temp()
may be called before the DOM is ready, depending on the moment when mod.load()
itself runs.
Upvotes: 1
Reputation: 2191
They are not the same but they have the same effect. Your second example executes the returned function directly while jQuery(function) binds it to the onload like $(document).ready()
. mod.load probably is the onload however, so this makes no difference.
See http://api.jquery.com/jQuery/#jQuery3
Upvotes: 2