Может ли кто-нибудь сказать мне, в чем разница между переменными $ variable и $ .Variable в jQuery? Для нелогич-:Разница между переменными в jQuery
$x='3';
$.y(parseInt($(this).val())
Может ли кто-нибудь сказать мне, в чем разница между переменными $ variable и $ .Variable в jQuery? Для нелогич-:Разница между переменными в jQuery
$x='3';
$.y(parseInt($(this).val())
Первый ($ х) является переменной (что в данном случае присваивается значение строки 3. Второй вызов функции к функции у(), которая является предположительно функцию расширения jquery. В вашем примере эта функция получает аргумент, который содержит некоторое целое число, исходящее из значения чего-то, на которое ссылается значение $ (this).
Обратите внимание, что $ x может быть так же легко var x = '3'. Назначение в вашем примере на самом деле немного странно, потому что префикс $ обычно указывает, что переменная содержит некоторый результат выбора jQuery.
$var
лишь соглашение сказать, что вар держит JQuery завернутого выбор DOM и т.д .:
var $form = $('#yourForm');
$.function
с другой стороны, означает, что вы вызываете некоторую «статическую» функцию библиотеки JQuery, например, $.each()
, без выполнения выбора DOM.
В JavaScript вы можете иметь имена переменных, содержащие символ $
. Если вы создаете новый HTML-документ с тега сценария, вы можете просто сделать:
var $test = 10;
console.log($test);
И зарегистрирует 10
на консоль.
jQuery использует переменную $
как сокращенное для себя значение, и любые функции/расширения jQuery доступны вне этого объекта. Далее, возможно, сделать его более ясным:
// Assume you have already loaded jQuery
$ == jQuery; // true!
$.test = 10; // Assign a random property to the "jQuery Object"
console.log($.test); // print out "10"
Теперь, в случае вашего примера, $.y()
, кто расширил JQuery, добавив метод, названный y
, которые могут быть доступны в качестве $.y()
. Во многих случаях, как способ отслеживания типов объектов, если у вас есть переменная, которая является ссылкой на объект JQuery, вы предварять имя переменной символ доллара:
var header = document.getElementById("header"); //without jQuery
var $header = $("#header"); // with jQuery
выше не является правилом, и это просто конвенция, которую придерживаются многие люди, чтобы сохранить свой код ясным.