2010-06-05 15 views
7

JQuery belgelerinin tam olarak bu ifadeyle ne ifade ettiğini açıklayan herhangi biri olabilir: "Aşağıdakileri kullanarak başvuruda bulunulduğunda," "global diğer adıma güvenmeden $ takma ad kullanarak başarısızlık jQuery kodu yazma argümanı":failsafe jQuery kodu

Bir süredir jQuery kullanıyorum, bu kodun belli bir ölçüde ne yaptığını anlayın, ancak yazım hata kodları yazma ile ilgili dökümantasyonda kullanılan ifade beni şaşırtmalı ve önemli olup olmadığı konusunda emin değilim.

cevap

9

$ değişken adı jQuery'ye özgü değildir - diğer javascript kitaplıkları da bundan faydalanır. Eğer aynı sayfada (belki de kasıtlı olarak değil - başka bir kütüphane üçüncü taraf bir senaryo tarafından çekilebilir) kullanıyorsanız, o zaman bir jQuery nesneye işaret ettiğini düşündüğünüz değişkenin aslında kodunuzun anlamı başka bir şeye işaret etme riski vardır. Çalışmak için kullandığınız API gibi kırılmayacaksınız.

Bu kodda, genel jpguery nesnesini parametre olarak alan anonim bir işlevin iletildiği global jQuery işlevini (başka bir kitaplıkla çakışmayan) kullanın. Bu parametre, global olarak değil, işlev için kapsamlandığından, işlevin dışında hiçbir şey, bununla etkileşime giremez ve bunu, kendiniz geçersiz kılmadığınız sürece yalnızca bir jQuery nesnesi olacağı bilgisiyle güvenebilirsiniz.

3

Arıza güvenliği, yalnızca başka bir kodun veya kitaplığın var olanı $ olarak kullanmaya çalıştığını ifade etmektedir. Başka bir kütüphanenin jQuery adını kullanması çok daha az olasıdır, bu yüzden her şeyi bir işlevde kapsülleyerek ve sorgulama ($) gibi jQuery'yi geçirerek $ 'ı kullanmak güvenlidir.

4

Simge, eklentiler oluştururken ilişkilidir; örneğin, $ nesnesinin jQuery nesnesinin bir diğer adı olduğundan emin olun.

(function($){ 
    // here code can always use $ as n alias for jQuery, regardless if the user 
    // has repointed $ to something else. 
})(jQuery); 
: yedekli yolu, eklenti kodunda $ kullanabilmek için istiyorum ya özel bir kapatma doğrudan jQuery kullanmaya veya sarılmasıdır
İlgili konular