जावास्क्रिप्ट: निष्पादन संदर्भ

Jan 23 2023
जबकि हमारे द्वारा लिखे गए कोड चल रहे होते हैं, पृष्ठभूमि में ऐसी प्रक्रियाएँ होती हैं जिन्हें हम नहीं देखते हैं। जब जावास्क्रिप्ट इंजन कोड को पढ़ता है और निष्पादित करता है, तो यह 2 चरणों में करता है।

जबकि हमारे द्वारा लिखे गए कोड चल रहे होते हैं, पृष्ठभूमि में ऐसी प्रक्रियाएँ होती हैं जिन्हें हम नहीं देखते हैं। जब जावास्क्रिप्ट इंजन कोड को पढ़ता है और निष्पादित करता है, तो यह 2 चरणों में करता है। यह सामान्य प्रक्रिया, जिसे निष्पादन संदर्भ कहा जाता है , में 2 चरण होते हैं, जैसा कि हमने निर्माण चरण और निष्पादन चरण के रूप में उल्लेख किया है ।

पहले चरण में, निर्माण चरण कहा जाता है , जेएस इंजन कुछ प्रकार के कोड परिचय और तैयारी का काम करता है। एक संदर्भ बनाता है, चर और कार्यों को संग्रहीत करने के लिए मेमोरी आवंटित करता है। अगले चरण में, जो निष्पादन चरण है , जेएस इंजन उन मानों को असाइन करता है जिन्हें हमने पहले से ही परिचित चरों के लिए उल्लेख किया है, और कार्यों को कॉल करता है।

हम इसकी तुलना एक प्रकार का भोजन तैयार करने से कर सकते हैं। हमें शुरू से ही पता चल जाता है कि हम जो भोजन तैयार करने जा रहे हैं (निर्माण चरण) उसके लिए कौन से सामान की आवश्यकता है।

निर्माण चरण

फिर हम आपूर्ति की मात्रा निर्धारित करते हैं और भोजन (निष्पादन चरण) तैयार करने के लिए कार्रवाई शुरू करते हैं।

निष्पादन चरण

जब कोड पहली बार निष्पादित किया जाता है, तो वैश्विक निष्पादन संदर्भ पहले बनाया जाता है और उल्लिखित चरणों को निष्पादित किया जाता है। फिर, यदि कार्य मौजूद हैं और कहा जाता है, कार्यात्मक निष्पादन संदर्भ बनाए जाते हैं और दोनों चरणों को निष्पादित किया जाता है।

हम व्यावहारिक रूप से यह सब नीचे दिए गए कोड के साथ देख सकते हैं।

  1. जब यह कोड इंजन द्वारा पढ़ा जाता है, तो पहले एक वैश्विक संदर्भ बनाया जाएगा ।
  2. वैश्विक निष्पादन संदर्भ

2. यदि आपने देखा है, getTechStack फ़ंक्शन में तकनीकी चर के साथ कुछ भी नहीं किया गया था। ऐसा इसलिए है क्योंकि वेरिएबल getTechStack फ़ंक्शन के अंदर है। इस फ़ंक्शन को पंक्ति 9 में कॉल करने के बाद, एक नया कार्यात्मक संदर्भ बनाया जाएगा और इस संदर्भ में 2 चरणों को फिर से निष्पादित किया जाएगा। तभी टेक वेरिएबल को किसी अन्य वेरिएबल की तरह माना जाएगा।

समारोह निष्पादन संदर्भ

वैश्विक संदर्भ के विपरीत , कार्यात्मक संदर्भ में वैश्विक वस्तु तर्क वस्तु के बराबर होगी, जो फ़ंक्शन के मापदंडों को संदर्भित करती है।

इसलिए जब भी वैश्विक संदर्भ के अलावा किसी फ़ंक्शन को कॉल किया जाता है, तो एक नया संदर्भ बनाया जाएगा और वही प्रक्रिया दोहराई जाएगी।

पढ़ने के लिए आपका शुक्रिया। :)

अन्य विषय: