Элементы кэширования jQuery, разница между $ variable и variable? - PullRequest
3 голосов
/ 16 марта 2012

Мне было интересно, может ли кто-нибудь объяснить разницу в элементах кэширования в JQuery.Один с символом доллара, а другой без.

Вот пример:

var cached = $('.someElement'); 

var $cached = $('.someElement'); 

Ответы [ 2 ]

15 голосов
/ 16 марта 2012

Существует без разницы .Оба кэшируются, отличается только имя переменной.

Оба cached и $cached являются допустимыми переменными Javascript:

var $message = 'Hello';
var message = 'Hello';

Синтаксис переменной $ просто часто используется , чтобы указать, что переменная содержит объект jQuery , а не другой тип (строка, целое число, элемент DOM, ...).Это своего рода венгерская нотация, но это просто соглашение среди программистов.Ничто не навязывает Javascript или jQuery.

Когда люди говорят о кэшировании переменной jQuery, они имеют в виду только один раз поиск :

//Like this: cached: search is done once.
var clientSpan = $('#client');
clientSpan.hide();
clientSpan.show();
// ...

//Not like this: uncached
$('#client').hide();
$('#client').show();
// ...
4 голосов
/ 16 марта 2012

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

Например:

var myVariable = $("#myElement").text(); // string
var $myVariable = $("#myElement"); // jQuery object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...