2013-09-22 9 views
7

मैं बूटस्ट्रैप जे एस स्रोत के माध्यम से एक बार देख ले रहा था और मैं कुछ भर में आया था कि मैंने नहीं देखा है से पहले:बूटस्ट्रैप समारोह घोषणा

+function ($) { "use strict"; 
//... 
}(window.jQuery); 

समारोह घोषणा के सामने + के साथ सौदा क्या है? क्या यह कुछ संभावित खनन समस्याओं या कुछ कम करने के लिए है?

मेरा मानना ​​है कि अभिव्यक्ति प्रकार से पहले एक + को रखने से अभिव्यक्ति का परिणाम किसी संख्या में परिवर्तित हो जाता है, लेकिन मुझे नहीं लगता कि इसकी प्रासंगिकता यहां क्या होगी।

किसी के लिए धन्यवाद जो मेरे लिए इस पर कुछ प्रकाश डाल सकता है।

उत्तर

8

ऐसा इसलिए है कि फ़ंक्शन घोषणा एक फ़ंक्शन अभिव्यक्ति है, ताकि इसे तुरंत निष्पादित किया जा सके।

(function ($) { "use strict"; 
//... 
}(window.jQuery)); 

या:

आमतौर पर है कि यह चारों ओर कोष्ठक डाल द्वारा किया जाता है

(function ($) { "use strict"; 
//... 
})(window.jQuery); 
+0

दिलचस्प है, तो + मूल रूप से "का मूल्यांकन करता है" कोड है कि यह जो इसे एक अभिव्यक्ति में बदल जाता है इस प्रकार है? साथ ही, मुझे लगता है कि फ़ंक्शन घोषणा से पहले + या उसके चारों ओर कोष्ठक डालने के बीच कोई अंतर नहीं है (फ़ंक्शन घोषणा)? – Adam

+0

@Adam: हाँ, दोनों मामलों में यह सिंटैक्स को नियमित फ़ंक्शन परिभाषा होने से रोकता है, और दोनों मामलों में संपूर्ण अभिव्यक्ति का परिणाम (यानी फ़ंक्शन से वापसी मूल्य) को अनदेखा किया जाता है। – Guffa

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