2012-01-22 15 views
9

संभव डुप्लिकेट:
What does the leading semicolon in JavaScript libraries do?; पहले jQuery में दस्तावेज़ तैयार

मैं jQuery के Flexslider स्रोत कोड पढ़ रहा हूँ और मैं एक ; दस्तावेज़ तैयार कॉल

;(function ($) {... 
से पहले देखना

क्या कोई मुझे बता सकता है कि हमें ; क्यों चाहिए?

+0

आपको ';' की आवश्यकता नहीं है। यह शायद एक टाइपो है। – zzzzBov

उत्तर

3

यह मामले में शामिल किया गया है ...

  • कोड अन्य कोड के साथ एक ही फाइल में बांटा जाता है, और

  • अन्य कोड अंत में एक अर्धविराम शामिल नहीं किया।


उदाहरण के लिए ...

(function() { 

     // some bundled plugin 

    })() // <--- no semicolon 

// v--- semicolon saved the day  
    ;(function ($) { 

     // flexslider plugin 

    })(); 

अर्धविराम के बिना, () Flexslider प्लगइन के चारों ओर एक समारोह कॉल के रूप में व्याख्या की गई है |, और बदले परिणाम कॉल करने की कोशिश है | पिछले समारोह के।

5

यह किसी भी पिछले कोड लाइनों के खिलाफ सुरक्षा के लिए है जो कि अर्धविराम गायब हो सकता है।

यदि आप जानते हैं कि कोड पहले से अर्धविराम है, तो इस अर्धविराम की आवश्यकता नहीं है।

1

यह एक टाइपो नहीं है। ; जटिल/minified/संपीड़ित फ़ाइलों में जावास्क्रिप्ट त्रुटियों को रोकता है। उदाहरण के लिए जब कई स्वतंत्र पुस्तकालय/प्लगइन्स एक साथ संपीड़ित हो जाते हैं।

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