⊗jsPmCxUFC 434 of 505 menu

JavaScript में अनबाउंड फ़ंक्शन का कॉन्टेक्स्ट

आइए देखें कि क्या होता है यदि एक फ़ंक्शन में this निर्दिष्ट किया गया हो, लेकिन वह किसी भी एलिमेंट से बाउंड न हो, ऐसे:

function func() { console.log(this); } func();

इस मामले में, परिणाम इस बात पर निर्भर करता है कि स्ट्रिक्ट मोड चालू है या नहीं। यदि मोड नॉन-स्ट्रिक्ट है, तो this में window का रेफरेंस स्टोर रहेगा:

function func() { console.log(this); // विंडो window का रेफरेंस } func();

और यदि मोड स्ट्रिक्ट है, तो this में undefined स्टोर रहेगा:

"use strict"; function func() { console.log(this); // undefined } func();

ऊपर कही गई बातों से ऐसा लग सकता है कि स्ट्रिक्ट मोड में this हमेशा undefined ही होगा। ऐसा बिल्कुल नहीं है! यदि केवल this को फ़ंक्शन के बाहर प्रिंट किया जाए, तो उसमें window का रेफरेंस होगा, मोड पर ध्यान दिए बिना:

"use strict"; console.log(this); // this में window का रेफरेंस

निष्कर्ष

किसी भी फ़ंक्शन में this लिखा जा सकता है, इससे JavaScript में कोई एरर नहीं आएगी। लेकिन इस this में वास्तव में क्या होगा यह फ़ंक्शन के कॉल होने तक परिभाषित नहीं होता। साथ ही, फ़ंक्शन के अलग-अलग कॉल पर this का मान अलग-अलग हो सकता है। यह पूरी तरह से उस कॉन्टेक्स्ट पर निर्भर करता है जिसमें फ़ंक्शन को कॉल किया गया था।

हिन्दी
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें