$ self имеет мало общего с $ , который является псевдонимом для jQuery. в этом случае. Некоторые люди предпочитают ставить знак доллара вместе с переменной, чтобы различать обычные переменные и объекты jQuery.
пример:
var self = 'some string';
var $self = 'another string';
Они объявлены как две разные переменные. Это как поставить подчеркивание перед закрытыми переменными.
Несколько популярный шаблон:
var foo = 'some string';
var $foo = $('.foo');
Таким образом, вы знаете, что $ foo является кэшированным объектом jQuery позже в коде.
This is pure JavaScript.
There is nothing special about $
. It is just a character that may be used in variable names.
var $ = 1;
var $$ = 2;
alert($ + $$);
jQuery just assigns it's core function to a variable called $
. The code you have assigns this
to a local variable called self
and the results of calling jQuery with this
as an argument to a global variable called $self
.
It's ugly, dirty, confusing, but $
, self
and $self
are all different variables that happen to have similar names.
Нет, конечно, нет. Это просто еще одно имя переменной. $ ()
, о котором вы говорите, на самом деле является основной функцией jQuery . $ self
- это просто переменная. Вы даже можете переименовать его в foo
, если хотите, это ничего не меняет. $
(и _
) являются допустимыми символами в идентификаторе Javascript.
Причина, по которой это делается, часто является просто соглашением по коду или во избежание конфликтов с перевернутыми ключевыми словами. Я часто использую его для $ this
следующим образом:
var $this = $(this);
self и $ self не одно и то же. Первый - это объект, на который указывает this, а второй - объект jQuery, чья «область видимости» - это объект, на который указывает this. Точно так же $ body - это не элемент DOM body, а объект jQuery, область действия которого является элементом body.