jQuery (function (a) {...}) (jQuery); - PullRequest
2 голосов
/ 24 мая 2011

Я получаю код файла * .js, подобный следующему:

(function(a){ 

   a("#div_element").removeClass("show message");

   ....

})(jQuery); 

Я пытаюсь понять:

  1. Что такое (функция (а) {...}) (jQuery); ?

  2. Как это использовать?

  3. Что здесь a ? Потому что я видел нормальный код выглядит так:

    $("#div_element").removeClass("show message");

Ответы [ 2 ]

2 голосов
/ 24 мая 2011

function (a) {/ *… * /} - это анонимная функция , которая напрямую вызывается с параметром jQuery. Таким образом, a внутри анонимной функции совпадает с jQuery

с веб-сайта jQuery

Пример: возвращает псевдоним $, а затем создает и выполняет функцию укажите $ как псевдоним jQuery внутри объем функций. Внутри Функция исходного объекта $ не имеется в наличии. Это хорошо работает для большинства плагины, которые не зависят от других библиотека.

jQuery.noConflict();
(function($) { 
  $(function() {
    // more code using $ as alias to jQuery
  });
})(jQuery);
// other code using $ as an alias to the other library

Прочтите также этот пост:

Что значит (function ($) {...}) (jQuery); делать / среднее

1 голос
/ 24 мая 2011

Может быть, легче понять механизм, если подумать об этом так:

(function( blah ) {
    blah("hello");
}) ( alert );

Обратите внимание, как blah становится прокси для alert.Это просто причудливый способ не загрязнять глобальное пространство имен (многие библиотеки используют $ в качестве глобальной переменной).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...