दिलचस्प पोस्ट
रिलीज पुस्तकालयों का उपयोग करते समय ओपनसीवी इमेड (फाइलनाम) डिबग मोड में विफल रहता है क्या वीआईएम के लिए एक सी ++ 11 सिंटैक्स फाइल है? कब में वस्तुओं को छोड़ना चाहिए – (शून्य) viewDidUnload में -dealloc के बजाय? बाएं, दाएं, बाहरी और इनर जुड़ने में क्या अंतर है? मैं सी प्रीप्रोसेसर में अनन्य मान कैसे बना सकता हूं? एंड्रॉइड / आईओएस – कस्टम यूआरआई / प्रोटोकॉल हैंडलिंग HTML5 वीडियो बफर विशेषता विशेषताएं जावास्क्रिप्ट में क्रॉस ब्राउजर फ्लैश डिटेक्शन asp.net mvc एक अलग परियोजना में नियंत्रकों रखा कोको में स्ट्रिंग्स की तुलना करना धागा अवधारणा समझ पर चिंगारी जावा में एक स्ट्रिंग सॉर्ट करें किसी वर्ग के बिना तत्वों का चयन करें फ़ंक्शन अदृश्य () क्या करता है? JavaFX 8 के लिए बेसिक जेयूनेट टेस्ट

क्या स्कोप में मॉड्यूल चर node.js में संग्रहीत हैं?

जब मैं यह मेरे नोड। जेएस मॉड्यूल में करता हूं:

var abc = '123'; 

यह कहाँ जाता है? और इसके द्वारा मेरा मतलब है: ब्राउज़र में यह window.abc (यदि फ़ंक्शन में निष्पादित नहीं है या अन्यथा) में जाता है

अगर मैं इसे निष्पादित करता हूं:

 abc = '123'; 

तो मैं इसे global.abc में पा सकता हूँ, लेकिन ऐसा नहीं है कि मैं इसे कैसे चाहता हूं।

Solutions Collecting From Web of "क्या स्कोप में मॉड्यूल चर node.js में संग्रहीत हैं?"

ब्राउज़र के विपरीत, जहां वेरिएंट वैश्विक अंतरिक्ष (यानी विंडो) के लिए डिफ़ॉल्ट रूप से निर्दिष्ट होते हैं, नोड वेरिएबल्स में मॉड्यूल (फ़ाइल) को स्कॉच किया जाता है जब तक कि आप उन्हें मॉड्यूल।

वास्तव में, जब आप node myfile.js चलाते हैं या आपके फ़ाइल में कोड की require('somefile.js') का पालन के रूप में लपेटा जाता है:

 (function (exports, require, module, __filename, __dirname) { // your code is here }); 

अन्य सभी उत्तर 100% सही हैं, लेकिन मुझे लगता है कि मैं नोड। जेएस एप्लीकेशन के भीतर किसी विस्तारित / निश्चित सूची को जोड़ूंगा अगर किसी नोड। जेएस या जावास्क्रिप्ट सीखने से शुरू करते हुए किसी के द्वारा इस पर Google के माध्यम से आता है:

वैश्विक कार्यक्षेत्र

किसी भी फ़ाइल में var कीवर्ड के बिना घोषित कुछ भी नोड सर्वर के एक ही उदाहरण में चलने से पहुंच योग्य होगा:

 // foo.js bar = 'baz'; // qux.js console.log(bar); // prints 'baz' 

ध्यान दें कि यह व्यापक रूप से एक बुरा विचार माना जाता है, क्योंकि यह आपके ऐप को जोरदार 'युग्मित' बनाता है – जिसका अर्थ है कि आपको foo.js को खोलने के लिए कहें कि क्यों bar = 'baz' qux.js में

मॉड्यूल क्षेत्र

किसी नोड.जेएस फ़ाइल के शीर्ष स्तर (किसी फ़ंक्शन या ऑब्जेक्ट के अंदर या किसी अन्य ब्लॉक के अंदर नहीं) में var कीवर्ड के साथ घोषित कुछ भी, मॉड्यूल स्कोप में है , और कहीं भी उसी फ़ाइल के भीतर से पहुंचाएगा, लेकिन कहीं भी मौजूद नहीं होगा अन्य:

 // foo.js var bar = 'baz'; console.log(bar); // prints 'baz' // qux.js console.log(bar); // prints 'undefined' 

फंक्शन स्कोप

किसी फ़ंक्शन के भीतर var कीवर्ड का उपयोग करके घोषित कुछ भी केवल उस फ़ंक्शन के भीतर से पहुँचा जा सकता है, और कहीं और से नहीं:

 // foo.js function myFunction() { var bar = 'baz'; console.log(bar); // prints 'baz' } function myOtherFunction() { console.log(bar); // prints 'undefined' } // qux.js console.log(bar); // prints 'undefined' 

जावास्क्रिप्ट फ़ंक्शन स्कॉडेड है अन्य ( ब्लॉक स्कॉप्ड ) भाषाओं के विपरीत, एक फ़ंक्शन के अंदर किसी ब्लॉक में घोषित वेरिएबल उस मूल फ़ंक्शन में कहीं से भी उपलब्ध होते हैं । उदाहरण के लिए, इसका मतलब यह है कि यदि आप एक लूप के अंदर एक नया चर घोषित करते हैं, तो यह उस लूप के बाहर भी सुलभ हो सकता है, जब तक कि आप अभी भी मूल कार्य में हैं:

 function myFunction() { while (thing === true) { var bar = 'baz'; thing = false; } console.log(bar); // prints 'baz' } 

ग्रहण

यदि आप मौजूदा चर को 'पुनर्वितरण' करते हैं, उदाहरण के लिए पहले से उपयोग किए गए वेरिएबल नाम के साथ var कीवर्ड का उपयोग करें, तो उस वैरिएबल नाम से जुड़े मान को नई घोषणा के दायरे में लिखा जाएगा :

 var bar = 'foo'; console.log(bar) // prints 'foo' function myFunction() { var bar = 'baz'; console.log(bar); } myFunction(); // prints 'baz' console.log(bar) // prints 'foo' 

नोड में एक मॉड्यूल गुंजाइश है, इसलिए एक मॉड्यूल में var abc = '123' एक ऐसा वेरिएबल पैदा करेगा जो उस मॉड्यूल के लिए (और इसलिए केवल कोड के लिए पहुंच योग्य) स्कॉच होगा।

http://nodejs.org/api/globals.html#globals_global भी देखें