Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में फ़ंक्शन स्कोप और कॉन्टेक्स्ट को समझना


स्कोप और कॉन्टेक्स्ट अलग हैं

JavaScript में कॉन्टेक्स्ट और स्कोप समान नहीं हैं। फ़ंक्शन इनवोकेशन में स्कोप और कॉन्टेक्स्ट दोनों होते हैं।

स्कोप (Scope)

एक वेरिएबल का स्कोप आपके प्रोग्राम का वह क्षेत्र है जिसमें यह परिभाषित है। JavaScript वेरिएबल्स के केवल दो स्कोप होते हैं। ग्लोबल वेरिएबल का ग्लोबल स्कोप होता है जिसका अर्थ है कि इसे आपके JavaScript कोड में कहीं भी परिभाषित किया जा सकता है। एक लोकल वेरिएबल केवल उस फ़ंक्शन के भीतर विजिबल होगा जहां यह परिभाषित है। फ़ंक्शन पैरामीटर्स हमेशा उस फ़ंक्शन के लिए लोकल होते हैं।

कॉन्टेक्स्ट (Context)

कॉन्टेक्स्ट दर्शाता है कि फ़ंक्शन कैसे कॉल किया गया है। आइए एक उदाहरण देखें:

var ob1 = { 
  display: function() { 
    return this; 
  } 
}; 
ob1.display() === ob1;

उपरोक्त तब ट्रू लौटाता है जब आप किसी ऑब्जेक्ट के मेथड के रूप में फ़ंक्शन को कॉल करते हैं। हमने "this" कॉन्टेक्स्ट देखा, जो उस ऑब्जेक्ट पर सेट होता है जिस पर मेथड कॉल किया जाता है।

  1. JavaScript में डिस्ट्रक्चरिंग और फंक्शन पैरामीटर्स JavaScript में डिस्ट्रक्चरिंग और फंक्शन पैरामीटर्स

    JavaScript में फंक्शन पैरामीटर्स को डिस्ट्रक्चर करने का निम्नलिखित कोड है:उदाहरण<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>

  1. जावास्क्रिप्ट में फ़ंक्शन प्रोटोटाइप जावास्क्रिप्ट में फ़ंक्शन प्रोटोटाइप

    जावास्क्रिप्ट में बनाए गए फ़ंक्शन्स में हमेशा जावास्क्रिप्ट इंजन द्वारा प्रोटोटाइप प्रॉपर्टी जोड़ी जाती है। प्रोटोटाइप प्रॉपर्टी एक ऑब्जेक्ट है जिसमें डिफ़ॉल्ट रूप से कंस्ट्रक्टर प्रॉपर्टी होती है। फ़ंक्शन प्रोटोटाइप को निम्न द्वारा एक्सेस किया जा सकता है - functionName.prototype जब ऑब्जेक्ट्स को फ

  1. जावास्क्रिप्ट में फ़ंक्शन बॉरोइंग जावास्क्रिप्ट में फ़ंक्शन बॉरोइंग

    call(), apply() और bind() का उपयोग जावास्क्रिप्ट में मेथड्स बॉरो करने के लिए किया जाता है। जावास्क्रिप्ट में मेथड्स बॉरो करने के लिए निम्नलिखित कोड है: उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport&qu