JavaScript Function bind()

قرض کردن روش‌های تابع (Function Borrowing)

با استفاده از روش bind()، یک شخصیت می‌تواند یک روش را از شخصیت دیگر قرض کند.

در این مثال، 2 شخصیت (person و member) ایجاد شده‌اند.

مثال: شخصیت member از روش fullname شخصیت person استفاده کرده است:

مثال

const person = {
  firstName:\"Bill\",
  lastName: "Gates",
  fullName: function () {
    return this.firstName + \" \" + this.lastName;
  }
}
const member = {
  firstName:\"Hege\",
  lastName: "Nilsen",
}
let fullName = person.fullName.member;

خود کا تجربہ کریئے

this

گاهی اوقات باید از روش bind() استفاده شود تا از از دست رفتن این.

در این مثال، شخصیت person یک روش display دارد. در روش display،این به معنای شخصیت person است:

مثال

const person = {
  firstName:\"Bill\",
  lastName: "Gates",
  display: function () {
    let x = document.getElementById("demo");
    x.innerHTML = this.firstName + " " + this.lastName;
  }
}
person.display();

خود کا تجربہ کریئے

وقتی که یک تابع به عنوان فراخوانی‌کننده (callback) استفاده می‌شود،این از بین خواهد رفت.

این مثال سعی می‌کند نام فرد را در 3 ثانیه نمایش دهد، اما اینڈی فائنڈ:

مثال

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);

خود کا تجربہ کریئے

جس میں این؟

جس میں،این کیوئر کی مرجعآئیٹم.

مطابقکیآئیٹم کا استعمال (استعمال یا کال) کے طریقے پر منحصر ہوتا ہے۔

اس کا استعمال کے مطابق، کیوئر این مختلف آئیٹم:

  • آئیٹم کی طو ری میں،این اس کا آئیٹمآئیٹم.
  • آپنے آپ میں،این مطابقعالمی آئیٹم.
  • فنکشن میں،این مطابقعالمی آئیٹم.
  • فنکشن میں، سخت میڈل میں،این یہ اینڈی فائنڈ.
  • ایونٹ میں،این ایونٹ کی دریافت کا آئیٹمعنصر.
  • کال، اپلی، بندل وغیرہ کی طو ری این مطابقکسی آئیٹم.

توجہ:این نہیں کا متغیر نہیں ہے، یہ ایک کیوئر اور ہم نہیں تبدیل کرسکتے این کی قیمت.

دیگر دیکھئے:

تعلیم:جس اسکریپٹ این