JavaScript İşlev Uygula
Yöntem Yeniden Kullanımı
Yöntem ile apply()
farklı nesneler üzerinde kullanılabilecek bir yöntem yazabilirsiniz.
JavaScript application() Yöntemi
Yöntem apply()
, yönteme benzer call()
(önceki bölüm).
Bu örnekte , person1 öğesinin fullName yöntemi uygulanır :
Örnek
const person = {
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
const person1 = {
firstName: "Mary",
lastName: "Doe"
}
// This will return "Mary Doe":
person.fullName.apply(person1);
call() ve application() arasındaki fark
Fark şudur:
Yöntem call()
bağımsız değişkenleri ayrı ayrı alır .
Yöntem apply()
, argümanları bir dizi olarak alır .
Bir argüman listesi yerine bir dizi kullanmak istiyorsanız, application() yöntemi çok kullanışlıdır.
Argümanlarla Apply() Yöntemi
Yöntem apply()
, bir dizideki argümanları kabul eder:
Örnek
const person = {
fullName: function(city, country) {
return this.firstName + " " + this.lastName
+ "," + city + "," + country;
}
}
const person1 = {
firstName:"John",
lastName: "Doe"
}
person.fullName.apply(person1, ["Oslo", "Norway"]);
call()
Yöntemle karşılaştırıldığında :
Ö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");
Dizilerde Bir Max Yöntemini Simüle Etme
Math.max()
Yöntemi kullanarak en büyük sayıyı (sayı listesinde) bulabilirsiniz :
Örnek
Math.max(1,2,3); // Will return 3
JavaScript dizilerininMath.max()
max() yöntemi olmadığından, bunun yerine yöntemi uygulayabilirsiniz
.
Örnek
Math.max.apply(null, [1,2,3]); // Will also return 3
İlk argüman (boş) önemli değil. Bu örnekte kullanılmamıştır.
Bu örnekler aynı sonucu verecektir:
Örnek
Math.max.apply(Math, [1,2,3]); // Will also return 3
Örnek
Math.max.apply(" ", [1,2,3]); // Will also return 3
Örnek
Math.max.apply(0, [1,2,3]); // Will also return 3
JavaScript Katı Modu
JavaScript katı modunda, apply()
yöntemin ilk argümanı bir nesne değilse, çağrılan işlevin sahibi (nesnesi) olur. "Sıkı olmayan" modda, global nesne olur.