sintaxe variável jquery [duplicado]
- Porque é que uma variável JavaScript começaria com um sinal de Dólar? 16 respostas
jQuery.fn.myFunc = function(options, callback) {
//stuff
jQuery(this)[settings.event](function(e) {
var self = this,
$self = jQuery( this ),
$body = jQuery( "body" );
//etc.
}
//more stuff
}
o meu entendimento é que $
se refere ao objecto jQuery. Então, por que colocar $
com $self
e $body
? E é o mesmo que $self
?
5 answers
$self tem pouco a ver com $, que é um pseudónimo do jQuery neste caso. Algumas pessoas preferem colocar um sinal de Dólar junto com a variável para fazer uma distinção entre vars regulares e objetos jQuery.
Exemplo:
var self = 'some string';
var $self = 'another string';
Estas são declaradas como duas variáveis diferentes. É como colocar o underscore antes de variáveis privadas.
Um padrão um pouco popular é:
var foo = 'some string';
var $foo = $('.foo');
Assim, sabes que o $foo é um objecto de Jquery escalfado mais tarde. codigo.
Não há nada de especial em $
. É apenas um personagem que pode ser usado em nomes de variáveis.
var $ = 1;
var $$ = 2;
alert($ + $$);
O JQuery apenas atribui a sua função principal a uma variável chamada $
. O código que você tem atribui this
a uma variável local chamada self
e os resultados de chamar jQuery com this
como argumento para uma variável global chamada $self
.
$
, self
e $self
são todas variáveis diferentes que acontece que tem nomes semelhantes.
$()
de que estás a falar é na verdade a função principal do jQuery. O $self
é apenas uma variável. Você pode até renomeá-lo para foo
Se quiser, isso não muda as coisas. O $
(e _
) são caracteres legais num identificador de Javascript.
Por que isso é feito assim muitas vezes é apenas uma convenção de código ou para evitar confrontos com palavras-chave invertidas. Uso-o frequentemente para $this
como se segue:
var $this = $(this);