Pourquoi JQuery a-t-il des signes dollar partout?

112

Je travaille sur un projet avec pas mal de JQuery dedans. Le JQuery a beaucoup de signes $ partout, par exemple

$(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
                });
            }
        });
...

Ma question est la suivante: que signifie ce signe dollar? Pourquoi est-il utilisé partout et comment le comprendre et l'interpréter? Cela me rappelle les jours effrayants où j'apprenais Scheme à l'université et devais mettre des crochets partout sans savoir pourquoi je le faisais.

Sachin Kainth
la source
19
Le $est un alias pour l'objet jquery
Lee
56
Pour
épater
2
stackoverflow.com/questions/205853/... A tout ce que vous devez savoir à ce sujet
smokestudley
7
var $ = jQuery
Adam

Réponses:

167

$est juste un raccourci pour jQuery. L'idée est que tout est fait avec le seul symbole global (puisque les espaces de noms globaux sont ridiculement encombrés) jQuery, mais vous pouvez utiliser $(car il est plus court) si vous aimez:

// 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"

Si vous ne souhaitez pas utiliser l'alias, vous n'êtes pas obligé. Et si vous ne voulez $pas être un alias pour jQuery, vous pouvez utiliser noConflictet la bibliothèque restaurera $ce qu'elle était avant que jQuery ne la prenne en charge. (Utile si vous utilisez également Prototype ou MooTools.)

TJ Crowder
la source
12

C'est juste un caractère pratique, plus court à taper et plus facile à lire que "jQuery".

Il n'y a rien de spécial sauf qu'il n'est généralement pas utilisé pour démarrer un nom de variable ou de fonction, ce qui réduit le risque ou la collision de noms.

Denys Séguret
la source
1
Sauf si vous utilisez une autre langue comme PHP javascript dans votre site Populate en utilisant htmldocs, à quel point ce signe de dollar sert l'objectif supplémentaire de tout casser depuis PHP n'utiliser le signe dollar pour commencer toutes les variables. (Une raison pour laquelle si vous partagez des scripts jQuery pour une utilisation large sur le net, il est préférable d'utiliser jQuery au lieu de $).
liljoshu
12

$sign est un alias pour jQuery. Une version courte de jQuery, un mécanisme moins d'écriture.

Juste pour un exemple: (dans jQuery c'est plus compliqué)

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

window.Myf = yourFunction;

Maintenant, vous pouvez appeler yourFunctioncomme:

Myf(); // definitely a short syntax
thecodeparadox
la source
11

Écriture et performances


Lorsque nous travaillons sur une bibliothèque ou un langage de programmation, nous devons prêter attention à certaines règles d'écriture. Grâce à jQuery, ils ont déjà implémenté de nombreuses options. Vous pouvez utiliser $ou vous pouvez utiliser jQueryou vous pouvez utiliser_

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

Ou peut-être que vous pouvez faire des changements sophistiqués, les identifiants javascript sont unicode afin que vous puissiez utiliser Ω

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

Mais l'idée principale derrière cela, appuyer une fois sur le clavier est mieux que de taper jQuery


De l'autre côté, nous avons des performances ... Je viens d'ouvrir au hasard l'un de mes projets et $j'ai cherché , j'en ai utilisé 54 $dans un seul fichier javascript.

$ est un octet.

jQuery est de 6 octets.

La différence est énorme 54 * 5 = 220 octets.

Ahmet Can Güven
la source
Si vous faites un vote négatif, ne soyez pas égoïste en me disant ce que j'ai mal fait. Pour que je puisse réparer mes erreurs s'il y en a!
Ahmet Can Güven
220 octets ne feront pas vraiment de différence significative en ce qui concerne la vitesse. En outre, cela ne prendrait pas seulement 220 octets puisque le code doit passer par le moteur V8 JS (ou d'autres moteurs) et nous ne savons pas combien il alloue pour différentes choses.
Garrett Smith
@GarrettSmith Je parlais du coût du réseau. L'exécution de $ ou jQuery est presque identique.
Ahmet Can Güven
6

Google est votre ami: $ sign JQuery

Le signe dollar n'est qu'un alias pour JQuery.

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

OU

$(document).ready(function(){});
Kashif
la source
4
FYI: google.com.pk/... semble donner les mêmes résultats de recherche, ce qui implique que Google n'autorise pas réellement le $ comme terme de recherche
Max Nanasy
5

En javascript, $(un seul caractère dollar) est un nom de variable valide. Plusieurs frameworks, parmi lesquels jQuery, l'ont adopté comme synonyme d'un objet contenant les méthodes de commodité de premier niveau fournies par le framework.

Confusion
la source
1

$ sign est utilisé comme alias de Jquery. au lieu d'utiliser jquery.hide, jquery.show partout où nous pouvons utiliser l'alias $ ($ .hide) Puisque nous utilisons ce mot beaucoup de fois. 'Jquery' ne sera pas un moyen pratique, nous utilisons donc l'alias $. Si nous voulons le changer, nous pouvons le changer par la méthode noConflict var Sample = $. NoConflict ()

Lijo
la source