what is difference between
$(function(){
});
and
$(document).ready(function() {
});
I suggest you read this. As you can see
All three of the following syntaxes are equivalent:
$(document).ready(handler)
$().ready(handler) (this is not recommended)
$(handler)
So it's up to you and to what you prefer.
$(function(){}) is a short cut for the dom ready
A function passed as an argument to the jQuery constructor is bound to the document ready event.
} else if (jQuery.isFunction(selector)) {
return rootjQuery.ready(selector);
}
From the source
Calling $(document).ready(selector)
saves a few if statements.
Although jQuery does cache $(document)
internally that might make $(f)
faster.
Benchmarked
We have run into situations where IE9 does not run functions within $(function() {}); in the same manner or timing as $(document).ready(function(){});
The issue reared its head for us specifically in reading information out of a query string and processing and displaying that information on the screen, or using it to process a form. IE9 would process the information once it was cached with $(function(), and a user refreshed the page. But on first run, nothing worked right. However, once we switching from $(function(){}); to $(document).ready(), the issue was fixed. We changed NOTHING else.
I so look forward to the day I don't have to test for IE9 and lower.
They're effectively the same. No difference.
This is the native way.
$(document).ready(function() {
// code
});
And this is a shorthand for the previous.
$(function() {
// code
});
jQuery source code
Both are equivalent, the first is a shorthand form.