$
обычно является имя JQuery конструктор. Иными словами, это имя функции, которую вы вызываете каждый раз, когда хотите создать объект jQuery. Например:
$('div')
Обычно это глобальная переменная, что означает, что она доступна на всей странице Javascript. Существует еще одна переменная jQuery
, которая обычно указывает на то же самое.
console.log($ === jQuery); // true
Однако можно установить $
к чему-то еще. Возможно, вы хотите использовать $
, чтобы означать что-то другое в вашем коде. Или, возможно, вы также используете Prototype, который также использует символ $
, чтобы указать на функцию.
Именно поэтому существует метод jQuery.noConflict()
: он останавливается $
со ссылкой на jQuery
.
Однако многие авторы предпочитают использовать $
, чтобы обратиться к конструктору jQuery, потому что он гораздо более сжатый и читаемый. jQuery предоставляет полезную функцию, которая позволяет им делать это легко.
Когда вы делаете jQuery(document).ready(function()
, вы назначаете обработчик событий. Функция будет запущена при запуске события. Мы можем переназначить $
, чтобы обратиться к jQuery исключительно в рамках этой функции обратного вызова. Этому способствует jQuery: каждая функция $(document).ready
callback вызывается с конструктором jQuery
в качестве первого аргумента, поэтому вы можете использовать любое имя, которое вы выбираете внутри функции.
Например:
var $ = 'apples';
jQuery(document).ready(function() {
$('div'); // causes an error: "TypeError: string is not a function"
});
jQuery(document).ready(function($) {
$('div'); // works fine
});
Эта функциональность описана в API JQuery для метода ready
, в разделе, озаглавленном "Aliasing в JQuery пространство имен".
Это просто имя аргумента. –
Этот конкретный ($) аргумент имеет некоторую функцию/значение в jQuery? Или это просто аргумент с именем «$». –
Прочтите документацию. См. Раздел: [Слияние пространства имен jQuery] (http://api.jquery.com/ready/) – epascarello