Funetu ya Call ya JavaScript

Method kwa upya

Kutumia call() Method, inaweza kuandika method ambazo inaweza kutumika kwenye kijanaa mbalimbali.

Funghi ni method ya kijanaa

Kwenye JavaScript, funghi ni method ya kijanaa.

Ikiwa funghi haina method ya kijanaa cha JavaScript, ni funghi ya kijanaa kuu (angalia kitabu cha awali).

Mfano wa chini unaundwa kwa kina na tatizo tatu (firstName,lastName,fullName)。

Mifano

var person = {
    firstName:"Bill",
    lastName: "Gates",
    fullName: function () {
        return this.firstName + " " + this.lastName;
    }
}
person.fullName();		// itakaa kirejea "Bill Gates"

Tafuta tena kufanya

Mwendo ya fullName niMethod.Kijanaa ya person ni method ya hii.Kijanaa.

Mwendo ya fullName inaenea Method ya kijanaa person.

Method ya JavaScript call()

call() Method ni method ya JavaScript ya kudumu.

inaoweza kutumika kumwambika method ya kijanaa kama sababu ya kijanaa kama kifungu.

Kwa sababu ya call()inaweza kutumia method ya kitu kingine kwa sababu ya kitu kingine.

Hii mtu huu anatumia method ya fullName ya person, na kutumia kama person1:

Mifano

var person = {
    fullName: function() {
        return this.firstName + " " + this.lastName;
    }
}
var person1 = {
    firstName:"Bill",
    lastName: "Gates",
}
var person2 = {
    firstName:"Steve",
    lastName: "Jobs",
}
person.fullName.call(person1);  // itakaa kirejea "Bill Gates"

Tafuta tena kufanya

Hiiwezekani mtu huu anatumia method ya fullName ya person, na kutumia kama person2:

Mifano

var person = {
    fullName: function() {
        return this.firstName + " " + this.lastName;
    }
}
var person1 = {
    firstName:"Bill",
    lastName: "Gates",
}
var person2 = {
    firstName:"Steve",
    lastName: "Jobs",
}
person.fullName.call(person2);  // itakuwa "Steve Jobs"

Tafuta tena kufanya

Method ya call na vifaa vya kumwambia

Method ya call() inaweza kumwambia vifaa:

Mifano

var person = {
  fullName: function(city, country) {
    return this.firstName + " " + this.lastName + "," + city + "," + country;
  }
}
var person1 = {
  firstName:"Bill",
  lastName: "Gates"
}
person.fullName.call(person1, "Seattle", "USA");

Tafuta tena kufanya