Qual é o significado do sinal " $ " em JavaScript
no seguinte código JavaScript existe um sinal de dólar ($
). O que significa?
$(window).bind('load', function() {
$('img.protect').protectImage();
});
7 answers
$
é simplesmente um identificador de JavaScript válido.
O JavaScript permite letras, números superiores e inferiores, e $
e _
. O $
destinava-se a ser utilizado para variáveis geradas por máquinas (tais como $0001
).
Protótipo, jQuery, e a maioria as bibliotecas de javascript usam o $
como o objeto de base primário (ou função). A maioria deles também tem uma maneira de renunciar ao {[[0]} para que ele possa ser usado com outra biblioteca que o usa. Nesse caso, utilize jQuery
em vez de $
. Na verdade, $
é apenas um atalho para jQuery
.
É o código mais provável jQuery (mais precisamente, JavaScript usando a biblioteca jQuery).
O $
representa a funçãojQuery , e é na verdade um nome abreviado para jQuery
. (Ao contrário da maioria das línguas, o símbolo $
não está reservado, e pode ser usado como um nome variável.) It is typically used as a selector (i.e. a function that returns a set of elements found in the DOM).
De outra resposta:
Um pouco de história Lembre-se, não há nada inerentemente especial em"$". É um nome variável como qualquer outro. Em dias anteriores, as pessoas costumavam escrever código usando documento.getElementById. Como JavaScript é sensível a maiúsculas, era normal cometer erros ao escrever o documento.getElementById. Devo capitalizar " b " De "by"? Devo capital " i " de Id? Percebes o que quero dizer. Porque as funções são cidadãos de primeira classe em JavaScript, podes sempre fazer isto.var $ = document.getElementById; //freedom from document.getElementById!
[EDIT: parece que no Firefox 3 e no Google Chrome, Você não pode fazer um nome falso tão facilmente. Em IE6 e Firefox2, a técnica acima ainda funciona.]
Quando a Biblioteca protótipo chegou, eles nomearam a sua função, que obtém os elementos DOM, como '$' para salvar na digitação/legibilidade [Ao escrever o código JS, na maioria das vezes você começa com a seleção de alguns elementos DOM]. Quase todas as bibliotecas JavaScript copiaram esta ideia. Protótipo também introduzido $$ função para seleccionar os elementos com o selector CSS.
O JQuery não só adaptou a ' função$', mas expandiu-se para a fazer aceitar todo o tipo de 'selectores' para obter os elementos que deseja. Agora, se você já está usando protótipo em seu projeto e queria incluir jQuery, você estará em problema, pois '$' pode se referir à implementação do protótipo ou à implementação da jQuery. É por isso que a jQuery tem a opção de noConflict para que você possa incluir jQuery em seu projeto, que usa protótipos e migre lentamente o seu código. Acho que foi uma jogada brilhante da parte do John! :)
O $()
é a versão abreviada de jQuery()
usada na biblioteca jQuery .
No entanto, no ES6 é um operador de interpolação de cadeias de caracteres num modelo "literal" eg.
var s = "new" ; // you can put whatever you think appropriate here.
var s2 = `There are so many ${s} ideas these days !!` ; //back-ticks not quotes
console.log(s2) ;
Resultado:
Há tantas ideias novas hoje em dia !!
Além das respostas acima, $
não tem significado especial em javascript, é livre para ser usado em nome de objetos. In jQuery , it is simply used as an alias for the jQuery object and jQuery () function.
No entanto, você pode encontrar situações em que você quer usá-lo em conjunto com outra biblioteca JS que também usa $, o que resultaria em um conflito de nome. Há um método em JQuery apenas por esta razão, jQuery.noConflict()
.
<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
$.noConflict();
// Code that uses other library's $ can follow here.
</script>
Em alternativa, também pode usar um deste tipo
(function ($) {
// Code in which we know exactly what the meaning of $ is
} (jQuery));
Da documentação do jQuery que descreve o objecto principal do jQuery:
Muitos programadores prefixam a $ para o nome das variáveis que contêm jQuery objetos a fim de ajudar a diferenciar. Não há nada de mágico esta prática-apenas ajuda algumas pessoas a manter o controle do que diferente as variáveis contêm.