JQuery'nin neden her yerde dolar işareti var?


112

İçinde oldukça fazla JQuery bulunan bir proje üzerinde çalışıyorum. Örneğin, JQuery'nin her yerde çok sayıda $ işareti vardır.

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

Sorum şu, bu dolar işareti ne anlama geliyor? Neden her yerde kullanılıyor ve onu nasıl anlayıp yorumluyorum? Bana Üniversitede Scheme öğrenirken ve bunu neden yaptığımı bilmeden her yere parantez koymak zorunda olduğum korkunç günleri hatırlatıyor.


19
$JQuery nesnesi için bir diğer adıdır
Lee

56
Vay canına ve
kafa

2
stackoverflow.com/questions/205853/… Bu konuda bilmeniz gereken her şeye sahip
smokestudley


7
var $ = jQuery
Adam

Yanıtlar:


167

$sadece bir kısayol jQuery. Buradaki fikir, her şeyin tek bir küresel sembolle yapılmasıdır (küresel ad alanları gülünç derecede kalabalık olduğundan) jQuery, ancak isterseniz kullanabilirsiniz $(çünkü daha kısa):

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

Takma adı kullanmak istemiyorsanız, zorunda değilsiniz. $Takma ad olmak istemiyorsanız jQuery, kullanabilirsiniz noConflictve kitaplık $jQuery devralmadan önceki haline geri yükler . (Prototip veya MooTools kullanıyorsanız kullanışlıdır.)


12

Yazması daha kısa ve okunması "jQuery" den daha kolay, sadece kullanışlı bir karakter.

Geleneksel olarak bir değişken veya işlev adı başlatmak için kullanılmaması dışında özel bir şey yoktur, bu da riski veya ad çakışmasını azaltır.


1
Eğer htmldocs kullanarak sitenize doldurmak javascript PHP gibi başka bir dil kullanarak sürece hangi dolar işareti PHP beri her şeyi kırma ek amaca hizmet ettiği noktasında yaptığı tüm değişkenleri başlatmak için dolar işareti kullanın. (Geniş ağ kullanımı için jQuery komut dosyalarını paylaşıyorsanız, $ yerine jQuery kullanmanızın bir nedeni).
liljoshu

12

$işareti için bir takma addır jQuery. Daha jQueryaz yazma mekanizmasının kısa versiyonu .

Sadece bir örnek için: (jQuery'de daha karmaşıktır)

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

window.Myf = yourFunction;

Şimdi şu şekilde arayabilirsiniz yourFunction:

Myf(); // definitely a short syntax

11

Yazılabilirlik ve Performans


Kütüphane veya bir programlama dili üzerinde çalışırken bazı yazılabilirlik kurallarına dikkat etmeliyiz. JQuery sayesinde zaten birçok seçeneği uyguladılar. Kullanabilir $ya da kullanabilir jQueryya da kullanabilirsiniz_

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

Ya da belki süslü değişiklikler yapabilirsiniz, javascript tanımlayıcıları unicode olduğundan, Ω

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

Ancak arkasındaki ana fikir, klavyeye bir kez basmak yazmaktan daha iyidir jQuery


Öte yandan performansımız var ... Projelerimden birini rastgele açtım ve aradım $, $tek bir javascript dosyasında 54 kullandım .

$ bir bayttır.

jQuery 6 bayttır.

Aradaki fark çok büyük 54 * 5 = 220 bayttır.


Olumsuz bir oylama yapıyorsanız, lütfen bana neyi yanlış yaptığımı söyleme konusunda bencil olmayın. Böylece eğer varsa hatalarımı düzeltebilirim!
Ahmet Can Güven

220 bayt, hız söz konusu olduğunda önemli bir fark yaratmayacaktır. Ayrıca, kodun V8 JS motorundan (veya diğer motorlardan) geçmesi gerektiğinden ve farklı şeyler için ne kadar ayırdığını bilmiyoruz.
Garrett Smith

@GarrettSmith Ağ maliyetlerinden bahsediyordum. $ Veya jQuery'nin yürütülmesi neredeyse aynıdır.
Ahmet Can Güven

6

Google senin arkadaşın: $ sign JQuery

Dolar İşareti, JQuery için yalnızca bir takma addır.

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

VEYA

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

4
Bilginize: google.com.pk/… aynı arama sonuçlarını veriyor gibi görünüyor, bu da Google'ın $ 'a arama terimi olarak gerçekten izin vermediği anlamına geliyor
Max Nanasy

5

JavaScript'te $(tek bir dolar karakteri) geçerli bir değişken adıdır. JQuery'nin de aralarında bulunduğu çeşitli çerçeveler, onu çerçevenin sağladığı üst düzey kolaylık yöntemlerini içeren bir nesnenin eşanlamlısı olarak benimsemiştir.


1

$ işareti, Jquery'nin takma adı olarak kullanılır. jquery.hide kullanmak yerine, jquery.show, $ ($ .hide) takma adını kullanabileceğimiz her yerde Bu kelimeyi birçok kez kullandığımız için. 'Jquery' uygun bir yol olmayacağından, $ takma adını kullanıyoruz. Değiştirmek istiyorsak noConflict yöntemiyle değiştirebiliriz var Sample = $. NoConflict ()

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.