Что это значит ?:Как понять эту функцию JQuery
(function($){
})(jQuery);
И какой причине использовать его? Спасибо.
Что это значит ?:Как понять эту функцию JQuery
(function($){
})(jQuery);
И какой причине использовать его? Спасибо.
(function($) {
$(function() {
// more code using $ as alias to jQuery
});
})(jQuery);
// other code using $ as an alias to the other library
Верните $ псевдоним, а затем создать и выполнить функцию, чтобы обеспечить $ в качестве псевдонима JQuery внутри области видимости функции. Внутри функции исходный $ объект недоступен. Это хорошо работает для большинства плагинов, которые не полагаются на какую-либо другую библиотеку.
Вы создаете новую область видимости в javascript с помощью функции (поскольку {} не создает новую область). Затем вы немедленно вызываете эту функцию и захватываете JQuery
из внешней области и делаете ее доступной внутри как переменная $
не совсем верно. Там тоже «с», и еще один я не помню. –
Да, да. Обновленный ответ :) – basarat
Это самопроизвольная анонимная функция. Эта функция выполняет свою работу при ее загрузке.
Это означает:
// but execute itself
function ($) {
// to-do
}
Переходя $
к function
предотвращает confliction от других libraries
, как,
<!-- Using the $ inside an immediately-invoked function expression. -->
<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>
jQuery.noConflict();
(function($) {
// Your jQuery code here, using the $
})(jQuery);
//Passing jQuery from here prevents $ variable which is also used by prototype
</script>
Это самообслуживания Выполнение Closure (само выполнение функции).
Здесь вы передаете jQuery этой функции self-execute, которая отображает jQuery в знак доллара. Таким образом, он не может быть перезаписан другой библиотекой в рамках ее выполнения.
Вам нужно будет написать такой синтаксис, при написании нового плагина, как вы предпочитаете, чтобы инкапсулировать код в отдельном пространстве имен
Причины использовать: http://stackoverflow.com/questions/5373278/variable-shadowing-in-javascript – Johan