निष्पादन संदर्भ जावास्क्रिप्ट में
आइए एक उदाहरण से शुरू करते हैं और फिर हम यह पता लगाते हैं कि वह कोड पर्दे के पीछे कैसे काम कर रहा है।
var x = 10;
var y = 20;
function add(a,b){
return a+b;
}
var result = add(x,y);
console.log(result) //30
सबसे पहले, x और y चर घोषित करें और संबंधित vlaue 10 और 20 के साथ आरंभ करें।
दूसरा, ऐड फ़ंक्शन की घोषणा करें जो तर्क को स्वीकार करता है और तर्कों का योग यानी 10 + 20 = 30 लौटाता है।
तीसरा, ऐड फ़ंक्शन को तर्कों के साथ x और y चर के मान के रूप में कॉल करें और परिणाम को चर परिणाम में संग्रहीत करें।
अंत में, कंसोल के साथ चर परिणाम का आउटपुट।
उपरोक्त कोड को चलाते समय जावास्क्रिप्ट कई काम करता है।
जब जावास्क्रिप्ट इंजन उस समय जावास्क्रिप्ट कोड निष्पादित करता है तो यह निष्पादन संदर्भ बनाता है।
प्रत्येक निष्पादन संदर्भ में दो चरण होते हैं
- रचना चरण।
- निष्पादन चरण।
जब जावास्क्रिप्ट इंजन पहली बार कोड निष्पादित करता है, तो यह वैश्विक निष्पादन संदर्भ बनाता है। इस चरण के दौरान जावास्क्रिप्ट कुछ कार्य करता है।
- वेब ब्राउजर में ग्लोबल ऑब्जेक्ट यानी विंडो या Node.js में ग्लोबल बनाएं।
- यह ऑब्जेक्ट (यह कीवर्ड) बनाएं और इसे ग्लोबल ऑब्जेक्ट से बांधें, वेब ब्राउजर के मामले में यह कीवर्ड विंडो ऑब्जेक्ट से जुड़ा हुआ है और नोड जेएस में यह कीवर्ड ग्लोबल ऑब्जेक्ट से जुड़ा हुआ है।
- चर और फ़ंक्शन संदर्भों को संग्रहीत करने के लिए मेमोरी हीप सेट करें।
- मेमोरी हीप और चर में फ़ंक्शन घोषणाओं को वैश्विक निष्पादन संदर्भ में प्रारंभिक मानों के साथ अपरिभाषित के रूप में संग्रहीत करें।
- चर x, y और परिणाम और फ़ंक्शन घोषणा ऐड () को वैश्विक निष्पादन संदर्भ में संग्रहीत करें।
- चर को अपरिभाषित मान के साथ प्रारंभ करें यानी x = अपरिभाषित, y = अपरिभाषित और परिणाम = अपरिभाषित।
निष्पादन चरण
निष्पादन चरण के दौरान, जावास्क्रिप्ट इंजन कोड लाइन को लाइन से निष्पादित करता है, चर को मान निर्दिष्ट करता है और फ़ंक्शन कॉल निष्पादित करता है।
प्रत्येक फ़ंक्शन कॉल के लिए, जावास्क्रिप्ट इंजन एक नया कार्यात्मक निष्पादन कॉल बनाता है।
फ़ंक्शन निष्पादन संदर्भ वैश्विक निष्पादन संदर्भ के समान है। लेकिन वैश्विक वस्तु बनाने के बजाय, जावास्क्रिप्ट इंजन तर्क वस्तु बनाता है जो फ़ंक्शन के सभी पैरामीटर का संदर्भ है।
हमारे उदाहरण में, जावास्क्रिप्ट इंजन एक तर्क ऑब्जेक्ट बनाता है जो फ़ंक्शन में पारित सभी पैरामीटर का संदर्भ देता है और वेब ब्राउज़र के मामले में इस मान को वैश्विक ऑब्जेक्ट पर सेट करता है, यह मान विंडो ऑब्जेक्ट से जुड़ा हुआ है और नोड जेएस में यह मान वैश्विक से जुड़ा हुआ है ऑब्जेक्ट और यह अपरिभाषित मान के साथ ए और बी पैरामीटर भी प्रारंभ करता है।
फ़ंक्शन निष्पादन संदर्भ के निष्पादन चरण के दौरान, जावास्क्रिप्ट इंजन पैरामीटर ए और बी को 10 और 20 मान प्रदान करता है और परिणाम (30) को वैश्विक निष्पादन संदर्भ में लौटाता है।
वैश्विक निष्पादन संदर्भ और फ़ंक्शन निष्पादन संदर्भ सहित सभी निष्पादन संदर्भों का ट्रैक रखने के लिए, जावास्क्रिप्ट इंजन कॉल स्टैक का उपयोग करता है।
आइये संपर्क में रहते हैं
मुझे उम्मीद है कि यह लेख आपके लिए मूल्यवान है, अगले एक पर मिलते हैं!

![क्या एक लिंक्ड सूची है, वैसे भी? [भाग 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































