2010-07-20 11 views
6
(function ($) { 
     ... 
    }) (jQuery); 
+1

http://stackoverflow.com/questions/2024888/a-simple-question-on-jquery-closure – gnarf

उत्तर

6

अन्य जावास्क्रिप्ट लाइब्रेरियों भी $ का उपयोग के साथ टकराव से बचने के लिए।

हालांकि, यह विधि आपको आपकी इच्छानुसार उस समारोह में $ का उपयोग करने की अनुमति देती है, jQuery का उपयोग करने की आवश्यकता नहीं है।

यही पैटर्न जब jQuery प्लगइन्स लेखन भी महत्वपूर्ण है।

+0

आपको बहुत बहुत धन्यवाद! सभी उत्तरों और टिप्पणी ने मुझे प्रबुद्ध किया! – kaneda

+0

@laramaki: आपका स्वागत है :) – Sarfraz

2

की तरह इस तत्वों के अंदर jQuery कोड बनाने के उद्देश्य है यह एक तर्क के रूप $ साथ, एक समारोह बनाता है, और तुरंत jQuery तर्क के रूप में के साथ कि समारोह चलाता है। प्रभावी रूप से यह सुनिश्चित करेगा कि $jQuery पर आपके कोड के अंदर, jQuery.noConflict() का उपयोग भी किया जाता है।

1

इस तरह, आप अपने कार्य गुंजाइश अंदर $ उपयोग कर सकते हैं, लेकिन बाहर की दुनिया में, jQuery के $ (जैसे प्रोटोटाइप भी $ का उपयोग करता है, और कुछ लोगों दोनों एक साथ मिश्रण चाहते)

अन्य पुस्तकालयों के उपयोग clobbering नहीं है
0

अन्य उत्तरों में विस्तृत कारण के अतिरिक्त, वैश्विक चर के मुकाबले फ़ंक्शन तर्कों तक पहुंचने के लिए यह (थोड़ा!) तेज है।

जब तक jQuery.noConflict() नहीं कहा जाता है, तो इसे उसी प्रभाव के साथ function($){ … }($) के रूप में लिखा जा सकता है।

0

इसके अलावा एक गुमनाम कॉलबैक फ़ंक्शन कहा जाता है, किसी भी वस्तु के लिए अपनी अबाध रूप में है, तो सख्ती से 'कार्यात्मक' है। दूसरों के मुकाबले संघर्षों से बचने के लिए jQuery के साथ प्लगइन डिज़ाइन करते समय एक अच्छा डिज़ाइन पैटर्न!

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