All three syntaxes are equivalent, but looking at the jQuery docs
the version:
jQuery(document).ready(function($) {
// Code using $ as usual goes here.
})
avoids namespaces difficulties on the $ because:
Aliasing the jQuery Namespace
When using another JavaScript library, we may wish to call
$.noConflict() to avoid namespace difficulties. When this function is
called, the $ shortcut is no longer available, forcing us to write
jQuery each time we would normally write $. However, the handler
passed to the .ready() method can take an argument, which is passed
the global jQuery object. This means we can rename the object within
the context of our .ready() handler without affecting other code: