JavaScript Fonksiyon Call

Yöntem yeniden kullanımı

Kullanarak call() Yöntemler, farklı nesnelerde kullanılabilen yöntemleri yazabilirsiniz.

Fonksiyonlar nesne yöntemleridir

JavaScript'te, fonksiyonlar nesne yöntemleridir.

Bir fonksiyon JavaScript nesnesinin yöntemi değilse, o zaman o, genel nesnenin fonksiyonudur (önceki bölümü bkz.).

Aşağıdaki örnek, üç özellik içeren bir nesne oluşturur (firstNamelastNamefullName)。

Örnek

var person = {
    firstName:"Bill",
    lastName: "Gates",
    fullName: function () {
        return this.firstName + " " + this.lastName;
    }
}
person.fullName();		// 'Bill Gates' döndürecektir

Kişisel Olarak Deneyin

fullName özelliği birYöntem。person nesnesi bu yönteminSahibi.

fullName özelliği person nesnesinin yöntemleri.

JavaScript call() yöntemi

call() Yöntemler, önceden tanımlanmış JavaScript yöntemleridir.

Bu, sahibi nesne olarak parametre olarak yöntemleri çağırabilir.

Yoluyla call()Başka bir nesnenin yöntemlerini kullanabilirsiniz.

Bu örnek, person'in fullName yöntemini çağırır ve person1 için kullanır:

Örnek

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);  // 'Bill Gates' döndürecektir

Kişisel Olarak Deneyin

Bu örnek, person'in fullName yöntemini çağırır ve person2 için kullanır:

Örnek

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);  // "Steve Jobs" döndürebilir

Kişisel Olarak Deneyin

Parametreli call() yöntemi

call() yöntemi parametre alabilir:

Örnek

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

Kişisel Olarak Deneyin