JavaScript İşlev Çağrısı
Yöntem Yeniden Kullanımı
Yöntem ile call()
farklı nesneler üzerinde kullanılabilecek bir yöntem yazabilirsiniz.
Tüm Fonksiyonlar Metottur
JavaScript'te tüm işlevler nesne yöntemleridir.
Bir işlev, bir JavaScript nesnesinin yöntemi değilse, genel nesnenin bir işlevidir (önceki bölüme bakın).
Aşağıdaki örnek, firstName, lastName, fullName olmak üzere 3 özelliğe sahip bir nesne oluşturur.
Örnek
const myObject = {
firstName:"John",
lastName: "Doe",
fullName: function () {
return this.firstName + " " + this.lastName;
}
}
// This will return "John Doe":
myObject.fullName();
Bu Anahtar Kelime
Bir işlev tanımında, işlevin this
"sahibi" anlamına gelir.
Yukarıdaki örnekte , fullName işlevine "sahip olan"
this
kişi nesnesidir .
Başka bir deyişle, this.firstName , bu nesnenin firstName özelliği anlamına gelir .
JS this Keyword'dekithis
anahtar kelime hakkında daha fazla bilgi edinin .
JavaScript call() Yöntemi
Yöntem call()
, önceden tanımlanmış bir JavaScript yöntemidir.
Bir argüman (parametre) olarak sahip nesneli bir yöntemi çağırmak (çağırmak) için kullanılabilir.
ile call()
, bir nesne başka bir nesneye ait bir yöntemi kullanabilir.
Bu örnek, person1 üzerinde kullanarak kişinin fullName yöntemini çağırır :
Örnek
const person = {
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
const person1 = {
firstName:"John",
lastName: "Doe"
}
const person2 = {
firstName:"Mary",
lastName: "Doe"
}
// This will return "John Doe":
person.fullName.call(person1);
Bu örnek, person2 üzerinde kullanarak kişinin fullName yöntemini çağırır :
Örnek
const person = {
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
const person1 = {
firstName:"John",
lastName: "Doe"
}
const person2 = {
firstName:"Mary",
lastName: "Doe"
}
// This will return "Mary Doe"
person.fullName.call(person2);
Argümanlarla call() Yöntemi
Yöntem call()
argümanları kabul edebilir:
Örnek
const person = {
fullName: function(city, country) {
return this.firstName + " " + this.lastName
+ "," + city + "," + country;
}
}
const person1 = {
firstName:"John",
lastName: "Doe"
}
person.fullName.call(person1, "Oslo", "Norway");