इस वीडियो में हम एक अवधारणा जावास्क्रिप्ट में गुंजाइश बुलाया चर्चा करने के लिए जा रहे हैं।
स्कोप संदर्भ में कुछ कोड में क्रियान्वित किया जा रहा है को संदर्भित करता है।
इसलिए हम जहाँ भी है कुछ कोड का कहना है कि यह एक समारोह हैलो कहो बुलाया के अंदर चलो।
यही कारण है कि कोड को एक विशिष्ट संदर्भ में चल रहा है।
और इसलिए यह कुछ चर हो सकता है और कुछ गुण हो सकता है और गुंजाइश के लिए जो भी चर और गुण है कि समारोह में दिखाई दे रहे हैं जिक्र है।
और कहा कि एक अन्य समारोह के अंदर या अगर हम एक दूसरे के अंदर नेस्ट कार्य किया था अलग हो सकता है।
जो कुछ आप कर सकते है।
हम विभिन्न scopes हो सकता है और विभिन्न चर दिखाई दे रहे हैं।
तो यह कुछ उदाहरण के साथ समझ कर देगा।
यह निश्चित रूप से एक बेहद मुश्किल और जटिल विषय है, लेकिन मैं आप के लिए यह आसान बनाने के लिए अपनी पूरी कोशिश करने के लिए जा रहा हूँ।
यहाँ कुछ सरल के साथ शुरू करते हैं।
समारोह की घोषणा गणित है और सब है कि गणित है हम क्या करेंगे घोषित 40 के बराबर चर x है और फिर यह कि लॉग एक्स को रद्द करने के लिए जा रहा है ..
तो चलो गणित है और वे 40 से बाहर मुद्रित मिल चलाते हैं।
इस क्षेत्र में हम यह कहेंगे में इस समारोह के अंदर इतना x 40 के बराबर है।
हालांकि समारोह के बाहर अगर मैं कोशिश करते हैं और पहुँच एक्स क्या आप ऐसा करने की उम्मीद करते हैं।
मैं एक त्रुटि यह मेरे एक्स से परिभाषित नहीं है बताता मिलता है।
तो क्या यह हमें पता चलता है कि हम इस समारोह के अंदर दो अलग अलग scopes है वह यह है कि एक संदर्भ है।
एक्स में यहाँ लेकिन उस के बाहर परिभाषित किया गया है और क्या हम वैश्विक गुंजाइश हम किसी भी समारोह के अंदर नहीं हो कहेंगे।
जब मैं प्रकार एक्स मैं एक त्रुटि मिलती है क्योंकि यह पता नहीं है क्या एक्स है।
यह इस दायरे में दिखाई नहीं है।
तो अगर हम एक्स के लिए एक्स परिभाषित करते चलो बस यह कम कॉल के बराबर होती है।
अब अगर मैं पहुँच एक्स जब मैं इस समारोह के बाहर रहा हूँ सिर्फ वैश्विक गुंजाइश मैं पाने में।
नमस्ते।
इसलिए इस संदर्भ में एक्स हैलो है।
लेकिन अगर मैं गणित करते चलाने फिर तुम क्या इस बार होने की उम्मीद है।
यह अभी भी 40 इस संदर्भ के अंदर है।
तो यह है कि वास्तव में महत्वपूर्ण है।
जब हम एक समारोह बनाने यह अपने आप ही गुंजाइश चर का अपना स्थापित किया है।
इसका मतलब यह नहीं है कि हालांकि एक समारोह के बजाय हम चर कि समारोह के बाहर परिभाषित कर रहे हैं का उपयोग नहीं कर सकते हैं।
तो मैं आपको एक उदाहरण दिखाता हूँ।
मैं यहाँ सब कुछ स्पष्ट करने के लिए जा रहा हूँ और इस समय का उपयोग एक चर वाई चर y निन्यानबे के बराबर है।
इसलिए वैश्विक दायरे में मैं y उपयोग कर सकते हैं।
अब अगर मैं घोषणा एक समारोह के इस अधिक गणित है फोन अगर मैं उस लॉग रद्द करना चाहते हैं।
आप एक त्रुटि होगा क्यों लगता है।
या यह काम अभी ठीक होगा।
चलो यह कोष्ठकों के साथ और अधिक गणित है कोशिश करते हैं।
और कहा कि मुझे 99 देता है।
तो क्या यह हमें यहाँ से पता चलता है कि जब हम एक समारोह के बाहर कुछ को परिभाषित हम अभी भी उस समारोह के अंदर यह करने के लिए उपयोग किया है।
एक बच्चे की गुंजाइश के रूप में इस के बारे में सोचो।
यह और अधिक विशिष्ट यह एक गहरे स्तर और बच्चे scopes में नीचे ड्रिलिंग की मूल दायरे में लगाने के लिए बातें करने के लिए उपयोग किया है।
तो अगर है कि सादृश्य में मदद करता है आप आगे जाना है और इसके साथ चलाते हैं।
लेकिन असल में यह योग करने के लिए अगर हम समारोह के एक चर बाहर को परिभाषित हम इसे समारोह के अंदर उपयोग कर सकते हैं।
लेकिन विपरीत सच नहीं है।
तो यहाँ एक और उदाहरण है।
क्या होगा अगर अंदर की अधिक गणित है मैं वास्तव में y के मूल्य बदल जाते हैं।
तो मैं कहता हूँ क्यों 100 के बराबर है।
और फिर मैं y प्रिंट।
क्या आपको लगता है कि इस मामले में क्या होता है।
यही कारण है कि एक कोशिश है।
तो चलो क्या y अब ठीक है पर देखो।
यह निन्यानबे है।
और यह 100 बाहर प्रिंट अगर मैं और अधिक गणित है।
तो अंदर समारोह Y सौ पर है और यह 100 से बाहर छपी।
लेकिन यह कैसे समारोह के बाहर के बारे में।
अगर मैं सिर्फ टाइप वाई क्या होता है
यह भी 100 है।
तो यहाँ क्या हुआ मैं y पहले '99 के रूप में वैश्विक दायरे में समारोह बाहर की घोषणा की है।
और फिर समारोह के अंदर मैं y बदल दिया है।
तो यह एक नया चर Y दायरे में यह वास्तव में पुराने एक है कि यहाँ अप घोषित किया गया था पाया घोषित नहीं किया था और यह इसे बदल दिया है।
यहाँ तो।
क्यों और एक सौ है क्यों भी 100 है बाहर।
तो यहाँ एक और उदाहरण है यह सब स्पष्ट चलो।
की एक चर वाक्यांश वहाँ उच्च के बराबर होती है और फिर एक समारोह के लिए कुछ करना बनाने चलो।
मैं जानता हूँ कि इन नामों कुछ मैं बदलने की कोशिश करने के लिए जा रहा हूँ कर बहुत रचनात्मक नहीं हैं और बदले में की।
मैं एक नया वर वाक्यांश अलविदा बराबरी करने के लिए जा रहा हूँ।
और फिर अगली पंक्ति पर मैं इसे मुद्रित करने के लिए जा रहा हूँ।
तो क्या तुम यहाँ होने की उम्मीद करते हैं।
यह अलविदा मुद्रित हमें कुछ करना चलाते हैं।
तो क्या हमें बताता है कि कुछ करने के बजाय के लिए एक के अलविदा करने के लिए बराबर है।
लेकिन इसके बारे में क्या बाहर वाक्यांश इसे बराबर करने के लिए वहाँ अभी भी उच्च है।
अब तक यहां जोड़कर वर वाक्यांश अलविदा बराबर होती है।
यही कारण है कि हमें एक नया चर नहीं बल्कि यहां तक ​​परिभाषित एक का उपयोग कर से आता है।
यह नया मुहावरा चर है कि केवल इस क्षेत्र में मौजूद है ही अंदर के कुछ अलविदा phrased जाता है बनाता है।