Por que JQuery tem cifrões em todos os lugares?

112

Estou trabalhando em um projeto com bastante JQuery nele. O JQuery tem muitos sinais $ em todos os lugares, por exemplo

$(document).ready(function () {
        $('input[type=file]').wl_File({
            url: '/Admin/PolicyInventory/UploadDocuments',
            onFileError: function (error, fileobj) {
                $.msg('file is not allowed: ' + fileobj.name, {
                    header: error.msg + ' Error ',
                    live: 10000
                });
            }
        });
...

Minha pergunta é: o que esse cifrão significa? Por que é usado em todos os lugares e como posso entender e interpretar? Isso me lembra dos dias assustadores de quando eu estava aprendendo Scheme na Universidade e tive que colocar colchetes em todos os lugares sem saber por que estava fazendo isso.

Sachin Kainth
fonte
19
O $é um alias para o objeto jquery
Lee
56
Para
surpreender
2
stackoverflow.com/questions/205853/… Tem tudo que você precisa saber sobre isso
smokestudley
7
var $ = jQuery
Adam

Respostas:

167

$é apenas um atalho para jQuery. A ideia é que tudo seja feito com um símbolo global (já que os namespaces globais estão ridiculamente lotados) jQuery, mas você pode usar $(porque é mais curto) se quiser:

// These are the same barring your using noConflict (more below)
var divs = $("div");       // Find all divs
var divs = jQuery("div");  // Also find all divs, because
console.log($ === jQuery); // "true"

Se você não quiser usar o alias, não precisa. E se você $não quiser ser um apelido para jQuery, você pode usar noConflicte a biblioteca irá restaurar $o que era antes de jQuery assumi-la. (Útil se você também usar Prototype ou MooTools.)

TJ Crowder
fonte
12

É apenas um caractere conveniente, mais curto de digitar e mais fácil de ler do que "jQuery".

Não há nada de especial, exceto que tradicionalmente não é usado para iniciar uma variável ou nome de função, o que reduz o risco de colisão de nomes.

Denys Séguret
fonte
1
A menos que você estiver usando outra linguagem como PHP para javascript populate em seu site usando htmldocs, em que ponto que cifrão serve o propósito adicional de quebrar tudo desde o PHP faz usar o cifrão para começar todas as variáveis. (Um motivo pelo qual se você está compartilhando scripts jQuery para uso amplo na rede, é bom usar o jQuery em vez de $).
liljoshu
12

$sign é um apelido para jQuery. Uma versão resumida de jQueryum mecanismo de menos gravação.

Apenas para um exemplo: (em jQuery é mais complicado)

var yourFunction = function() {
    alert('a function');
}

window.Myf = yourFunction;

Agora você pode ligar yourFunctioncomo:

Myf(); // definitely a short syntax
oecodeparadoxo
fonte
11

Escritibilidade e desempenho


Quando estamos trabalhando em uma biblioteca ou linguagem de programação, devemos prestar atenção a algumas regras de capacidade de escrita. Graças ao jQuery, eles já implementaram várias opções. Você pode usar $ou pode usar jQueryou pode usar_

(function (_) {
    _("#wow").click()
})(jQuery);

Ou talvez você possa fazer mudanças extravagantes, identificadores de javascript são unicode para que você possa usar Ω

(function (Ω) {
    Ω("#wow").click()
})(jQuery);

Mas a ideia principal por trás disso, pressionar uma vez no teclado é melhor do que digitar jQuery


Por outro lado, temos performance ... Acabei de abrir aleatoriamente um dos meus projetos e procurei $, usei 54 $em um único arquivo javascript.

$ é um byte.

jQuery tem 6 bytes.

A diferença é enorme 54 * 5 = 220 bytes.

Ahmet Can Güven
fonte
Se você estiver fazendo um voto negativo, por favor, não seja egoísta em me dizer o que eu fiz de errado. Para que eu possa consertar meus erros, se houver!
Ahmet Can Güven
220 bytes não farão nenhuma diferença significativa no que diz respeito à velocidade. Além disso, não ocuparia apenas 220 bytes, já que o código tem que passar pelo mecanismo V8 JS (ou outros mecanismos) e não sabemos quanto ele está alocando para coisas diferentes.
Garrett Smith
@GarrettSmith Eu estava falando sobre custo de rede. A execução de $ ou jQuery é quase idêntica.
Ahmet Can Güven
6

Google é seu amigo: $ sign JQuery

Dollar Sign é apenas um apelido para JQuery.

jQuery(document).ready(function(){});

OU

$(document).ready(function(){});
Kashif
fonte
4
Para sua informação: google.com.pk/… parece fornecer os mesmos resultados de pesquisa, o que implica que o Google não permite o $ como termo de pesquisa
Max Nanasy
5

Em javascript, $(um único caractere de dólar) é um nome de variável válido. Vários frameworks, entre os quais jQuery, o adotaram como sinônimo de um objeto que contém os métodos de conveniência de nível superior que o framework fornece.

Confusão
fonte
1

$ sign é usado como um alias para Jquery. em vez de usar jquery.hide, jquery.show em todos os lugares, podemos usar o alias $ ($ .hide) Já que usamos essa palavra muitas vezes. 'Jquery' não será uma maneira conveniente, então estamos usando o alias $. Se quisermos alterá-lo, podemos alterá-lo pelo método noConflict var Sample = $. NoConflict ()

Lijo
fonte