2013-05-01 6 views
7

मैं इस तरह कुछ jQuery प्लगइन्स स्रोत कोड में एक समारोह की शुरुआत में कुछ अजीब ; देखा है?

+1

यह है, क्योंकि कुछ लोगों को बस उनके द्वारा लिखे गए कोड की गुणवत्ता की परवाह न करें। सेमीकॉलन उन्हें पहले से पहले ध्यान देने के बिना अपने कोड में नई सामग्री जोड़ने की अनुमति देता है। – Mike

+1

@lan किया। इसे चिह्नित किया गया :) –

उत्तर

11

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

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

(function() { 

})() // <--- No semicolon 

// Added semicolon to prevent unexpected laziness result from previous code  
;(function ($) { 

})(); 
अर्धविराम बिना

, दूसरी () एक समारोह कॉल के रूप में व्याख्या की है होता है, और पहले समारोह की वापसी परिणाम कॉल करने की कोशिश करेंगे

+0

मुझे नहीं लगता कि यह एक वाक्यविन्यास त्रुटि है। यह दूसरी स्क्रिप्ट को पहले कॉल करने से रोकने के लिए है। '() 'एक फ़ंक्शन को कॉल करता है, जो कि दूसरी स्क्रिप्ट – Ian

+0

जैसा दिखता है, इस उदाहरण में कोई अर्धविराम नहीं होने पर क्या परिणाम हैं ?? –

5

यह केवल terminate किसी भी पिछले निर्देश को सुनिश्चित करने के लिए सुनिश्चित है।

समारोह मंगलाचरण से पहले अर्द्ध बृहदान्त्र श्रेणीबद्ध लिपियों और/या अन्य प्लगइन्स जो ठीक से बंद नहीं किया जा सकता के खिलाफ एक सुरक्षा तंत्र है।

https://github.com/shichuan/javascript-patterns/blob/master/jquery-plugin-patterns/extend.html

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