Dlaczego JQuery ma wszędzie znaki dolara?

112

Pracuję nad projektem zawierającym sporo JQuery. Na przykład JQuery ma wszędzie wiele znaków $

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

Moje pytanie brzmi, co oznacza ten znak dolara? Dlaczego jest używany wszędzie i jak to rozumiem i interpretuję? Przypomina mi to przerażające dni, kiedy uczyłem się programu Scheme na uniwersytecie i musiałem wszędzie zakładać nawiasy, nie wiedząc, dlaczego to robię.

Sachin Kainth
źródło
19
To $jest alias dla obiektu jquery
Lee
56
Aby
zadziwić
2
stackoverflow.com/questions/205853/… Ma wszystko, co musisz o nim wiedzieć
smokestudley
4
możliwy duplikat Co oznacza znak „$” w javascript
JJJ
7
var $ = jQuery
Adam

Odpowiedzi:

167

$to tylko skrót do jQuery. Chodzi o to, że wszystko odbywa się za pomocą jednego globalnego symbolu (ponieważ globalne przestrzenie nazw są absurdalnie zatłoczone) jQuery, ale możesz użyć $(ponieważ jest krótszy), jeśli chcesz:

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

Jeśli nie chcesz używać aliasu, nie musisz. A jeśli nie chcesz $być aliasem jQuery, możesz użyć, noConflicta biblioteka przywróci $to, czym była, zanim przejęła ją jQuery. (Przydatne, jeśli używasz również Prototype lub MooTools.)

TJ Crowder
źródło
12

To po prostu wygodny znak, krótszy do wpisania i łatwiejszy do odczytania niż „jQuery”.

Nie ma nic specjalnego poza tym, że tradycyjnie nie jest używany do uruchamiania nazwy zmiennej lub funkcji, co zmniejsza ryzyko lub kolizję nazw.

Denys Séguret
źródło
1
Chyba że używasz innego języka, takich jak PHP, aby wypełnić JavaScript w miejscu za pomocą htmldocs, w którym momencie to znak dolara służy dodatkowy cel łamanie wszystko od PHP nie używać znaku dolara, aby uruchomić wszystkie zmienne. (Powód jest taki, że jeśli udostępniasz skrypty jQuery do szerokiego użytku w sieci, lepiej jest używać jQuery zamiast $).
liljoshu
12

$znak jest aliasem dla jQuery. Krótka wersja jQuery, mniejszy mechanizm zapisu.

Na przykład: (w jQuery jest to bardziej skomplikowane)

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

window.Myf = yourFunction;

Teraz możesz zadzwonić na yourFunctionprzykład:

Myf(); // definitely a short syntax
thecodeparadox
źródło
11

Zapisywalność i wydajność


Kiedy pracujemy nad biblioteką lub językiem programowania, powinniśmy zwrócić uwagę na pewne zasady dotyczące zapisywalności. Dzięki jQuery zaimplementowali już wiele opcji. Możesz użyć $lub możesz użyć jQuerylub możesz użyć_

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

A może możesz wprowadzić wymyślne zmiany, identyfikatory javascript są unicode, więc możesz użyć Ω

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

Ale główna idea, która się za tym kryje, jednokrotne naciśnięcie klawiatury jest lepsze niż pisanie jQuery


Z drugiej strony mamy wydajność ... Po prostu przypadkowo otworzyłem jeden z moich projektów i wyszukałem $, użyłem 54 $w jednym pliku javascript.

$ jest bajtem.

jQuery wynosi 6 bajtów.

Różnica jest ogromna 54 * 5 = 220 bajtów.

Ahmet Can Güven
źródło
Jeśli głosujesz negatywnie, nie bądź samolubny i nie mów mi, co zrobiłem źle. Żeby móc naprawić swoje błędy, jeśli takie są!
Ahmet Can Güven
220 bajtów tak naprawdę nie zrobi żadnej znaczącej różnicy, jeśli chodzi o prędkość. Ponadto nie zajmowałoby to tylko 220 bajtów, ponieważ kod musi przejść przez silnik V8 JS (lub inne silniki), a nie wiemy, ile alokuje na różne rzeczy.
Garrett Smith
@GarrettSmith Mówiłem o kosztach sieci. Wykonywanie $ lub jQuery jest prawie identyczne.
Ahmet Can Güven
6

Google jest Twoim przyjacielem: $ sign JQuery

Znak dolara to tylko alias dla JQuery.

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

LUB

$(document).ready(function(){});
Kashif
źródło
4
Do Twojej wiadomości: google.com.pk/… wydaje się dawać te same wyniki wyszukiwania, co oznacza, że ​​Google tak naprawdę nie zezwala na wyszukiwane hasło $
Max Nanasy
5

W javascript $(pojedynczy znak dolara) jest prawidłową nazwą zmiennej. Kilka frameworków, w tym jQuery, przyjęło go jako synonim obiektu, który zawiera metody wygody najwyższego poziomu, które zapewnia framework.

Dezorientacja
źródło
1

Znak $ jest używany jako alias do Jquery. Zamiast używać jquery.hide, jquery.show wszędzie, gdzie możemy użyć aliasu $ ($ .hide) Ponieważ używamy tego słowa wiele razy. „Jquery” nie będzie wygodnym sposobem, więc używamy aliasu $. Jeśli chcemy to zmienić, możemy to zmienić metodą noConflict var Sample = $. NoConflict ()

Lijo
źródło