Eu programei em javascript / jQuery alguns anos atrás e acabei de começar de novo. Naquela época, o cifrão era usado para todas as funcionalidades do jQuery e, se nenhuma biblioteca jQuery fosse importada, o cifrão não era definido.
Hoje, eu iniciei o Firefox, em um arquivo html completamente vazio, sem bibliotecas javascript, e ainda assim o cifrão aponta para algo. Se eu abrir o console do Firefox e digitar '$' , recebo "function()"
.
1) É correto que o cifrão não foi atribuído, alguns anos atrás, ou eu me lembro errado?
2) Qual é o cifrão , senão o jQuery?
fonte
$.fn.jquery
$
não foi usado em um literal de modelo nesta questão .Não significa nada para o intérprete, assim como o sublinhado
Da especificação ECMAScript:
Você também pode verificar o JavaScript Dollar Sign ($) - Para que serve?
IdentifierName :: IdentifierStart IdentifierName IdentifierPart IdentifierStart :: UnicodeLetter $ _ UnicodeEscapeSequence IdentifierPart :: IdentifierStart UnicodeCombiningMark UnicodeDigit UnicodeConnectorPunctuation UnicodeEscapeSequence
EDITAR:-
Na verdade, a função de cifrão se tornou o atalho mais ou menos de fato para
document.getElementById()
.Para confirmar meu ponto, verifique isto :
fonte
Dollar sign($)
não foi atribuído, mas algum navegador adiciona função para uso especial.Como o Google Chrome, se você digitar
$
no console, ele retornará:function $(selector, [startNode]) { [Command Line API] }
Esta função é atribuída ao Google Chrome Developer Tool, e deixa a depuração mais fácil.
se você digitar
$('div')
, ele retornará algo assim:e.fn.e.init[178]
e incluir todos os
div
objetos DOM nele.BTW, depois de clicar com o botão direito do mouse para selecionar o elemento, você pode acessar o escopo angular.js por tipo
$scope
no consolefonte
Observe que
$$
não é bem assimdocument.querySelectorAll
, porque, ao contrário dessa função, ela não retorna umNodeList
:document.querySelectorAll("p") instanceof NodeList // true $$("p") instanceof NodeList // false Array.isArray($$("p")) // true
Então
$$(selector)
é realmente mais parecidoArray.from(document.querySelectorAll(selector))
. Isso significa que métodos de array comomap
e friends, não apenasforEach
, estão disponíveis quando usados, o$$
que é realmente muito útil.fonte
Pode ser qualquer coisa, como
$
um nome de variável válido, exatamente comodollar
.Do ECMAScript :
Identifier :: IdentifierName but not ReservedWord IdentifierName :: IdentifierStart IdentifierName IdentifierPart IdentifierStart :: UnicodeLetter $ _ \ UnicodeEscapeSequence
A solução mais simples para ver o que é e onde está definido provavelmente seria digitar
$()
e colocar um ponto de interrupção nesta linha.fonte
Só para completar as outras respostas aqui, MooTools também usa
$
como apelido paradocument.getElementById
.Ele verifica se o
$
é usado e o padrão édocument.id
.fonte