स्कोप और कॉन्टेक्स्ट अलग हैं
JavaScript में कॉन्टेक्स्ट और स्कोप समान नहीं हैं। फ़ंक्शन इनवोकेशन में स्कोप और कॉन्टेक्स्ट दोनों होते हैं।
स्कोप (Scope)
एक वेरिएबल का स्कोप आपके प्रोग्राम का वह क्षेत्र है जिसमें यह परिभाषित है। JavaScript वेरिएबल्स के केवल दो स्कोप होते हैं। ग्लोबल वेरिएबल का ग्लोबल स्कोप होता है जिसका अर्थ है कि इसे आपके JavaScript कोड में कहीं भी परिभाषित किया जा सकता है। एक लोकल वेरिएबल केवल उस फ़ंक्शन के भीतर विजिबल होगा जहां यह परिभाषित है। फ़ंक्शन पैरामीटर्स हमेशा उस फ़ंक्शन के लिए लोकल होते हैं।
कॉन्टेक्स्ट (Context)
कॉन्टेक्स्ट दर्शाता है कि फ़ंक्शन कैसे कॉल किया गया है। आइए एक उदाहरण देखें:
var ob1 = {
display: function() {
return this;
}
};
ob1.display() === ob1;
उपरोक्त तब ट्रू लौटाता है जब आप किसी ऑब्जेक्ट के मेथड के रूप में फ़ंक्शन को कॉल करते हैं। हमने "this" कॉन्टेक्स्ट देखा, जो उस ऑब्जेक्ट पर सेट होता है जिस पर मेथड कॉल किया जाता है।