2013-04-19 4 views
6
; (function ($, undefined) 
{ 

    // all the variables and functions of the js document 

})(jQuery); 

मैंने इसे ज़ूम स्क्रिप्ट के लिए jquery/javascript फ़ाइलों में दो बार देखा है। मुझे समझ में नहीं आता कि यह वास्तव में क्या है। मैं इसे Google पर प्रतीत नहीं कर सकता। हाल ही में jquery और js सीखने के दौरान tizag या w3schools पर आना याद रखें।

इस कोड से पहले या बाद में कुछ भी नहीं है (कुछ टिप्पणियों के अलावा)। इसलिए मैं पूरी तरह खो गया हूं (function())(jQuery); क्या है या करता है।

+1

सुंदर ज्यादा सब कुछ की तरह कुछ स्पष्ट हो जाएगा था इसे पढ़ने के बाद: http://james.padolsey.com/javascript/iife-argument-madness/ – romainberger

उत्तर

6
(function ($, undefined) 
{ 

    // all the variables and functions of the js document 

})(jQuery); 

सुनिश्चित करना है कि अंदर

  • $ jQuery
  • undefined का उल्लेख करने के प्रयोग करने योग्य है undefined

है कोड का एक खंड कॉल करता है और किसी भी minifier एक छोटा करने के लिए undefined बदल सकते हैं कि लेबल।

प्रारंभिक ; सुनिश्चित करता है कि आप एक दूसरे के साथ इस फ़ाइल को श्रेणीबद्ध कर सकते हैं: इस के बिना, आप concatened फ़ाइल को क्रियान्वित करने में कोई त्रुटि होगा अगर एक बस से पहले

(function(){ 

})() 
3

यह सुनिश्चित करने का एक तरीका है कि $ वास्तव में jQuery ऑब्जेक्ट है और यह सुनिश्चित करने के लिए कि कोई भी स्थानीय चर और विधियां निजी रूप से स्कॉप्ड हों, यानी, प्रदूषित न करें वह वैश्विक नामस्थान।

यह एक स्व-कॉलिंग अज्ञात फ़ंक्शन है, पैरामीटर jQuery होने के साथ, जिसका अर्थ है कि $jQuery ऑब्जेक्ट होगा।

किसी फ़ंक्शन के अंदर घोषित होने का अर्थ है कि आंतरिक चर और विधियां इसके बाहर दिखाई नहीं देगी।

+4

इसके अलावा - शुरुआत में अर्द्ध-कॉलन केवल एक सुरक्षा उपाय है यदि इस कोड को बिना किसी अन्य जेएस के शामिल किया जाना चाहिए उचित स्वरूपण। –

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