एक JSLint विकल्प है, वास्तव में अच्छे भागों में से एक है, कि "[आवश्यकता] तत्काल चालान के आसपास" अर्थ, निर्माण
(function () {
// ...
})();
इसके बजाय के रूप में लिखा जाना चाहिए
(function () {
// ...
}());
मेरा प्रश्न यह है - क्या कोई समझा सकता है कि इस दूसरे रूप को बेहतर क्यों माना जा सकता है? क्या यह अधिक लचीला है? कम त्रुटि-प्रवण? पहले रूप में इसका क्या फायदा है?
इस सवाल को पूछने के बाद से, मैं फ़ंक्शन मानों और फ़ंक्शन के मूल्यों के बीच एक स्पष्ट दृश्य अंतर होने के महत्व को समझ गया हूं। उस मामले पर विचार करें जहां तात्कालिक आह्वान का परिणाम एक असाइनमेंट अभिव्यक्ति का दाहिना हाथ है:
var someVar = (function () {
// ...
}());
हालांकि बाहरी कोष्ठक वाक्य-रचना में अनावश्यक रूप से अनावश्यक होते हैं, उद्घाटन कोष्ठक यह संकेत देता है कि असाइन किया जा रहा मान स्वयं फ़ंक्शन नहीं है, बल्कि फ़ंक्शन के परिणाम को लागू किया जा रहा है।
यह निर्माण कार्यों के पूंजीकरण के बारे में क्रॉकफोर्ड की सलाह के समान है - यह स्रोत कोड को देखने वाले किसी व्यक्ति के लिए दृश्य क्यू के रूप में सेवा करने के लिए है।