जावास्क्रिप्ट "यह" नेस्टेड फ़ंक्शंस में पॉइंटर रहस्य
जावास्क्रिप्ट कोड स्निपेट में, आपको "इस" के संबंध में एक अप्रत्याशित व्यवहार का सामना करना पड़ा है "नेस्टेड फ़ंक्शन के भीतर सूचक। किसी ऑब्जेक्ट विधि के भीतर नेस्टेड फ़ंक्शन को परिभाषित करने के बावजूद, नेस्टेड फ़ंक्शन के अंदर "यह" पॉइंटर वैश्विक "विंडो" ऑब्जेक्ट को इंगित करता है।
"इस" पॉइंटर का व्यवहार फ़ंक्शन इनवोकेशन विधि द्वारा निर्धारित किया जाता है जावास्क्रिप्ट। तीन प्राथमिक विधियाँ हैं:
प्रत्यक्ष आह्वान: someThing.someFunction(arg1, arg2, argN)
फ़ंक्शन कॉल विद कॉल(): someFunction.call(someThing, arg1, arg2, argN)
फ़ंक्शन कॉल अप्लाई() के साथ : someFunction.apply(someThing, [arg1, arg2, argN])
आपके द्वारा प्रदान किए गए उदाहरण में, नेस्टेड फ़ंक्शन को किसी भी स्पष्ट फ़ंक्शन आमंत्रण विधियों के बिना लागू किया जाता है। परिणामस्वरूप, "यह" पॉइंटर वैश्विक ऑब्जेक्ट पर डिफॉल्ट हो जाता है, जो आमतौर पर ब्राउज़र वातावरण में "विंडो" ऑब्जेक्ट होता है।
"इस" पॉइंटर व्यवहार को स्पष्ट रूप से निर्दिष्ट करने के लिए, आप निम्नलिखित संशोधनों का उपयोग कर सकते हैं :
इनमें से किसी भी तरीके का उपयोग करके , आप नेस्टेड फ़ंक्शंस के भीतर "इस" पॉइंटर के व्यवहार को नियंत्रित कर सकते हैं और सुनिश्चित कर सकते हैं कि यह वांछित ऑब्जेक्ट को संदर्भित करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3