JavaScript Function bind()

Function Borrowing

kwa kutumi method ya bind(), classi moja inaweza kumaliza method ya classi nyingine.

mivuno hii inatokana na uundaji wa 2 classi (person na member).

classi ya member inaumilia method ya classi ya person kwa sababu ya method ya 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);

Tukio kwa kufikia kikamilika

kutumia this

kwa uangalifu inafaa kutumi method ya bind() kuwasaidia kuzima this.

katika mivuno hii, classi ya person ina method ya display. katika method ya display,this ina maana yake ni classi ya person:

实例

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

Tukio kwa kufikia kikamilika

wakati method inatumiwa kama callback functionthis itakutokwenda kuzuiwa.

mivuno hii itahakikisha kuonyesha jina lake kwa 3 sekunde, lakini itakuwa na undefined:

实例

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

Tukio kwa kufikia kikamilika

method ya bind() inasaidia kusoma hii.

katika mivuno hii, method ya bind() inatumiwa kuweka method ya person.display kwenye person.

hali hii itahidi inayitababisha jina lake kwa 3 sekunde

实例

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

Tukio kwa kufikia kikamilika

Nini this?

katika JavaScriptthis inatoa nenojadwali.

inaingiakivujadwali inahusika na jinsi inayotumika (kutumia au kutumia).

kwa sababu ya maadili yake ya kutumia this inaingia jadwali tofauti:

  • katika matumizi ya jadwalithis inaingia hiijadwali.
  • inaingia kwa kawaidathis inaingiajadwali juu.
  • katika msaadathis inaingiajadwali juu.
  • katika msaada, katika modi ya kina,this ni undefined.
  • katika matukiothis inaingia kwa matukiojumla.
  • call()、apply() na bind() na mabaki ya matumizi yanaenda this inatoakila jadwali.

Kuja kuzingatia:this hakina ni muasi. Ni neno. Huwezi kumwambia this inaadili.

Tafadhali tazama:

Mwongozo:JavaScript this