‎‎تابع‎bind()‎‎ جاوااسكريپت JavaScript Function bind()‎ -‎

Previous >    <Next  

‎‎تابع قرض گرفتنFunction Borrowing -‎

‎با متد‎bind( )‎ يك شئ ميتواند متدي را از شئ ديگر قرض يا ‎در اختيار بگيريد.

‎در مثال زير دو شئperson و member ايجاد ميشود .شئ member متد fullName را از person ‎قرض ميگيرد.

‎‎مثال ـ قرض گرفتن متد

const person = {
  firstName:"John",
  lastName: "Doe",
  fullName: function () {
    return this.firstName + " " + this.lastName;
  }
}

const member = {
  firstName:"Hege",
  lastName: "Nilsen",
}

let fullName = person.fullName.bind(member);

--(go to editor for change code and run)

‎‎محافظت ازthis

‎‎گاهي اوقات استفاده‎bind( )‎ براي مراقب از دست رفتن this ميباشد .

‎مثال ـ در مثال زيرشئperson داراي متدdisplay ميباشد .دراين متد كيوردthis به شئperson ‎اشاره دارد.

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

person.display();

--(go to editor for change code and run)

‎‎هنگاميكه يك تابع براي يك پاسخ تماس‎(callback)‎ استفاده ميشود this ازبين ميرود .

‎مثال ـ در اين مثال كوشش ميشود براي سه ثانيه متدdisplay در اختيار باشد، اما بجاي نتيجه ‎درستundefined برگشت ميشود .

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

setTimeout(person.display, 3000);

--(go to editor for change code and run)

‎‎متد‎bind( )‎ اين مشكل را برطرف ميكند .

‎‎در مثال زير متدperson.diplay ارطريق متد‎bind( )‎ براي شئ person فراخوان ميشود .

‎‎مثال ـ در اين مثال پس از سه ثانيه نام شخص را نمايش ميدهد.

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

let display = person.display.bind(person);
setTimeout(display, 3000);

--(go to editor for change code and run)

‎‎كي وردthis جيست

‎در جاوااسكريت كي ورد‎this‎ بيك شئ اشاره دارد .كدام شئ ، بستگي به نحوي فراخواني ‎يا استفاده دارد.

‎‎كي ورد‎this‎ باشياء مختلف وابسته به استفاده ، اشاره ميكند .مطابق زير :

‎‎توجه ـ‎this‎ متغير نيست، آن يك كلمه رزرو شده است .نميتوان مقدارآن را تغييرداد .

‎در موردthis در بحش JavaScript this ‎اطلاعات كاملتري را مطالعه فرمائيد.


Previous >    <Next