JavaScript Function bind()
- पिछला पृष्ठ JS फ़ंक्शन Apply
- अगला पृष्ठ JS बंडल
फ़ंक्शन उधार (Function Borrowing)
bind() तरीका का उपयोग करके, एक ऑब्जैक्ट दूसरे ऑब्जैक्ट का तरीका उधार कर सकता है。
नीचे का उदाहरण 2 ऑब्जैक्ट (person और member) बनाता है。
member ऑब्जैक्ट person ऑब्जैक्ट के fullname तरीका को उधार करता है:
उदाहरण
const person = { firstName:\"Bill\", lastName: "Gates", fullName: function () { return this.firstName + \" \" + this.lastName; } } const member = { firstName:\"Hege\", lastName: "Nilsen", } let fullName = person.fullName.bind(member);
this बनाए रखा जाए
कभी-कभी bind() तरीका का उपयोग करना पड़ता है ताकि this
इस उदाहरण में, person ऑब्जैक्ट को एक display तरीका है। display तरीका मेंthis person ऑब्जैक्ट को संदर्भित करता है:
उदाहरण
const person = { firstName:\"Bill\", lastName: "Gates", display: function () { let x = document.getElementById("demo"); x.innerHTML = this.firstName + " " + this.lastName; } } person.display();
जब फ़ंक्शन को कॉलबैक के रूप में उपयोग किया जाता है तबthis गुम हो जाएगा。
यह उदाहरण 3 सेकंड के बाद व्यक्ति का नाम दिखाने का प्रयास करेगा, लेकिन यह undefined:
उदाहरण
const person = { firstName:\"Bill\", lastName: "Gates", display: function () { let x = document.getElementById("demo"); x.innerHTML = this.firstName + " " + this.lastName; } } setTimeout(person.display, 3000);
bind() तरीका इस समस्या को हल करता है。
इस उदाहरण में, bind() तरीका person.display को person से बांधने के लिए उपयोग किया गया है。
यह उदाहरण 3 सेकंड के बाद व्यक्ति का नाम दिखाएगा:
उदाहरण
const person = { firstName:\"Bill\", lastName: "Gates", display: function () { let x = document.getElementById("demo"); x.innerHTML = this.firstName + " " + this.lastName; } } let display = person.display.bind(person); setTimeout(display, 3000);
इस्तेमाल के बारे में this क्या है?
JavaScript मेंthis
अवधारणा संदर्भऑब्जेक्ट
संदर्भ करता हैकौनअवधारणा ऑब्जेक्ट आगामी (इस्तेमाल या आगामी) के तरीके से निर्भर करती है।
इस्तेमाल के तरीके पर भरोसा करते हुए this
संदर्भ करता है विभिन्न ऑब्जेक्ट:
- ऑब्जेक्ट के विधियों में
this
संदर्भ करता हैऑब्जेक्ट - अकेले इस्तेमाल करने पर
this
संदर्भ करता हैग्लोबल ऑब्जेक्ट - फ़ंक्शन में
this
संदर्भ करता हैग्लोबल ऑब्जेक्ट - फ़ंक्शन में, कड़े मोड में
this
हैundefined
- इवेंट में
this
इवेंट को प्राप्त करने वालेएलीमेंट - call()、apply() और bind() जैसी विधियों के द्वारा
this
संदर्भ करता हैकोई भी ऑब्जेक्ट
ध्यान दें:this
एक वेरियेबल नहीं है।यह एक अवधारणा है।आप इसे संशोधित नहीं कर सकते this
का मान
अन्य संदर्भ:
ट्यूटोरियल:JavaScript this
- पिछला पृष्ठ JS फ़ंक्शन Apply
- अगला पृष्ठ JS बंडल