2012-05-08 8 views
5

मैंने अभी सिंकफ्यूजन से jQuery संक्षिप्त रूप से मुफ्त ईबुक (here) डाउनलोड किया है और उदाहरणों को देखना शुरू कर दिया है।jQuery संक्षिप्त रूप से वाक्यविन्यास स्पष्टीकरण

<script> (function ($) 
{ 
    $('a').mouseenter(
     function() { alert(this.id); }); 
})(jQuery); 
</script> 

मुझे यकीन है कि क्यों लेखक इस सिंटैक्स का उपयोग कर रहा है नहीं कर रहा हूँ:

मैं बात के इस प्रकार के एक बहुत देखते हैं। $ ऑब्जेक्ट को अज्ञात फ़ंक्शन में पास किया जा रहा है? क्यूं कर? और अज्ञात फ़ंक्शन के बाद (jQuery) क्या है?

यह बस एक तरह से अन्य पुस्तकालयों के साथ टकराव से बचने के लिए है? ऐसा लगता है कि इन उदाहरणों को और अधिक "संक्षेप में" लिखा जा सकता है :)

धन्यवाद।

उत्तर

7

यह एक बंदरगाह बनाता है जहां $ === jQuery भले ही $.noConflict() वैश्विक jQuery $ को हटाने के लिए उपयोग किया गया था।

इससे आपको उपयोगकर्ता की उदासीनता के बिना $ का उपयोग करने की अनुमति मिलती है। प्रोटोटाइप जैसे ढांचे का भी उपयोग करना जो $ का भी उपयोग करता है।

बंद भी लाभ यह है कि अपने चर/कार्य वैश्विक जब तक आप स्पष्ट रूप से उन्हें वैश्विक (var का उपयोग नहीं और window या this वस्तु को कार्यों संलग्न द्वारा) नहीं बना रहे हैं

+0

बस कुछ मेरे से आगे सेकंड। : / –

4

हाँ, यह एक संक्षिप्त तरीका है अन्य पुस्तकालयों के साथ jQuery संघर्ष से बचने के लिए। इसे "बंद" के रूप में जाना जाता है। दूसरे शब्दों में, परिवर्तनीय $ उस फ़ंक्शन पर स्कॉप्ड किया गया है और इसका उपयोग बिना किसी नुकसान के किया जा सकता है।

संबंधित मुद्दे