मैं underscore.js library (jQuery एक ही चीज़ करता है) के लिए कोड देख रहा था और सिर्फ कुछ स्पष्टीकरण चाहता था कि क्यों विंडो ऑब्जेक्ट स्वयं निष्पादन समारोह में पारित हो रहा है।यदि वैरिएबल वैश्विक है तो आपको जावास्क्रिप्ट में स्वयं निष्पादन फ़ंक्शन में तर्कों को पारित करने की आवश्यकता क्यों है?
उदाहरण के लिए:
(function() { //Line 6
var root = this; //Line 12
//Bunch of code
}).call(this); //Very Bottom
this
के बाद से वैश्विक, कारण है कि यह समारोह में पारित किया जा रहा है? निम्नलिखित काम भी नहीं करेंगे? इस तरह से क्या करने का इरादा होगा?
(function() {
var root = this;
//Bunch of code
}).call();
स्पष्ट रूप से यह वही है, क्या आप अंडरस्कोर जेएस कोड पोस्ट कर सकते हैं जहां यह किया जाता है? – jxs
कोई तर्क पारित नहीं हो रहा है - कॉलबैक के अंदर 'this' सेट करने के लिए 'कॉल' का उपयोग किया जा रहा है। फिर भी, मैं यह भी नहीं देखता कि यह आपके द्वारा पोस्ट किए गए कोड से क्यों जरूरी है। – apsillers
फ़ंक्शन लाइन 6 पर शुरू होता है, परिवर्तनीय रूट लाइन 12 पर decalred है और फिर कॉल बहुत नीचे है। पूरी फाइल एक बड़ा काम है। – KingKongFrog