$(document).ready(function() { ... });
просто связывает эту функцию с событием готовности документа, поэтому, как вы сказали, при загрузке документа событие срабатывает.
(function($) { ... })(jQuery);
на самом деле является конструкцией Javascript, и все, что делает этот фрагмент кода, это передает объект jQuery в функцию ($) в качестве параметра и запускает функцию, поэтому внутри этой функции $ всегда ссылается на объект jQuery. Это может помочь разрешить конфликты пространства имен и т. Д.
Таким образом, # 1 выполняется при загрузке документа, а # 2 запускается немедленно, с объектом jQuery с именем $ в качестве сокращения
$(document).ready(function(){ ... }); or short $(function(){...});
Эта функция вызывается, когда DOM готов, что означает, что вы можете начать запрашивать элементы, например. .ready () будет использовать разные способы в разных браузерах, чтобы убедиться, что DOM действительно готов.
(function(){ ... })();
Это не что иное, как функция, которая вызывает себя как можно скорее, когда браузер интерпретирует ваш ecma- / javascript. Поэтому очень маловероятно, что вы сможете успешно воздействовать на элементы DOM здесь.
jQuery document.ready против самостоятельного вызова анонимной функции