Возможный дубликат:
чем отличается $ (function () {}); и $ (document) .ready (function () {});?В чем различия между
$ (document) .ready (function () {})
и$ (функцией () {})
and should I write it in the$
form or the newjQuery(document).ready(function(){ })
way?If I have google api loaded is
google.setOnLoadCallback(function() {
a better way? or is it the same thing?I've also seen people use
$(function($){})
Can somebody help me, I'm lost. I bugs me when I don't know the code I write. I guess I should read through the library. Are the all being defined as the same thing?
Два способа эквивалентны, я лично предпочитаю второй, $ (function () {});
это просто ярлык для готового документа .
Что касается конструкции new jQuery (document) ...
, вам действительно не нужно использовать оператор new
, jQuery будет использовать его внутри, если вы этого не сделаете.
Аргументом, который получает функция-обработчик ready
, является сам объект jQuery.
Это очень полезно, когда вам нужно запустить jQuery в режиме совместимости с другими библиотеками, например:
jQuery(function ($) {
// use $ here
});
Аргумент $
внутри обратного вызова будет ссылаться на объект jQuery, за пределами этой функции он может ссылаться в другую библиотеку, например PrototypeJS.
$ (document) .ready (function () {});
$ (function () {});
Эти два оператора фактически идентичны. Таким образом, второй вызов - это просто ярлык для первого.
Нотация $
снова является лишь сокращением для jQuery
. Если вы загрузили jQuery на свой веб-сайт, вы можете использовать оба. Особенно, если вы не загружаете другие библиотеки JS, которые могут также использовать знак $
. Это подводит нас к упомянутому вами
(function($){
}(jQuery));
призыву. Здесь нужно убедиться, что в созданном вами выражении функции знак $
ссылается на объект jQuery
. Вы вызываете эту анонимную функцию (с параметром $) и передаете объект jQuery
в.
Я рекомендую прочитать несколько статей, которые очень полезны для понимания чего-то в jQuery (и, конечно, в javascript), в этих статьях объясняется, как создать плагин jQuery, но, прочитав их, вы поймете кое-что базовые и важные вещи, такие как закрытие, которое имеет значение в this (function ($) {} (jQuery)); утверждение.
http://www.authenticsociety.com/blog/jQueryPluginTutorial_Beginner