Что делает (function ($) {...}) (jQuery); делать / в виду? - PullRequest
3 голосов
/ 17 марта 2010

Я немного новичок в многоразовых плагинах для jquery Я несколько раз сталкивался с этим кодом и не могу точно понять, что происходит.

(function( $ ){
   ...
})( jQuery );

Может ли кто-нибудь просветить меня?

Ответы [ 3 ]

5 голосов
/ 17 марта 2010

Это позволяет автору использовать функцию $ в плагине, не подвергая его глобальному охвату - просто делает вещи немного чище вне самого плагина.

Я считаю, что это лучшая практика для разработки плагинов jQuery - наверняка я где-то упоминал об этом в документации!

5 голосов
/ 17 марта 2010

Создает анонимную функцию и немедленно ее выполняет, передавая jQuery в качестве параметра. Поскольку анонимная функция принимает параметр $, внутри функции $ находится объект jQuery, позволяющий вам использовать $ для объектов jQuery, как вы привыкли, даже если $ используется чем-то остальное (например, другая библиотека) вне функции. Заключение кода в анонимную функцию, подобную этой, защищает от конфликтов имен переменных, поскольку любая переменная, определенная внутри функции, ограничена областью действия этой функции.

1 голос
/ 17 марта 2010

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

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