में वैश्विक दायरे में वस्तुओं को सम्मिलित करना यह प्रश्न क्लासिक एएसपी में जावास्क्रिप्ट से संबंधित है। ब्राउज़र में चल रहे जावास्क्रिप्ट के साथ इसका कोई लेना-देना नहीं है।क्लासिक एएसपी/जावास्क्रिप्ट
(function(globalScope) {
... declarations here...
}(this));
यह अनुमति देता है कोड वाक्य रचना संक्षिप्त करने में, रन-टाइम पार्सर/संकलक द्वारा चेकों अनुमति देने के लिए:
एक जे एस मॉड्यूल है कि फिर से प्रयोग करने योग्य होने के लिए डिज़ाइन किया गया है के लिए एक विशिष्ट निर्माण इस तरह है । यह स्कोप प्रबंधन भी प्रदान करता है, ताकि curlies के भीतर घोषित वर्रों और कार्यों को बाहरी रूप से दिखाई नहीं देगा।
(function(globalScope) {
var data = ['Alpha', 'Beta', 'Gamma'];
function helper(a) { .... }
function search(d) { .... }
// "export" a function so it is externally visible
globalScope.searchData = search;
}(this));
// typeof this.searchData == "function"
// typeof this.data == "undefined"
// typeof this.helper == "undefined"
// typeof this.search == "undefined"
यह सब बहुत विशिष्ट है:
एक और ठेठ निर्माण "निर्यात" एक वस्तु या भीतरी दायरे से संबंधित समारोह, बाहरी गुंजाइश के लिए, काम के माध्यम से, इस तरह के लिए है।
क्लासिक एएसपी (ध्यान: सर्वर-साइड जावास्क्रिप्ट !!) में इस तरह के निर्माण का उपयोग करते समय जेएस इंजन फेंकता है। मुझे 500 त्रुटि मिलती है।
क्यों?
क्या मैं क्लासिक एएसपी में वैश्विक दायरे में स्कोपिंग निर्माण और "निर्यात" चीजों का उपयोग कर सकता हूं?
ब्राउज़र रनटाइम में, "यह" "विंडो" का मूल्यांकन करता है। सर्वर-साइड क्लासिक एएसपी रनटाइम में, वैश्विक "यह" का मूल्य क्या है? क्या यह "गुण" को नए गुणों को असाइन करना संभव है?