JavaScript Fonksiyon Apply

yöntem tekrar kullanımı

Yöntem aracılığıyla apply() Yöntem, farklı nesneler için kullanılmak üzere yazılabilecek yöntemler oluşturmanıza olanak tanır.

JavaScript apply() yöntemi

apply() Yöntem, call() Yöntemler çok benzerdir:

Bu örnekte,person ın fullName Yöntem,uygulamaden person1

Örnek

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

Kişisel Deneyim

call() ve apply() arasındaki fark

Farklılık budur:

call() Yöntem, parametreleri ayrı ayrı kabul eder.

apply() Yöntem, dizilik parametreleri kabul eder.

Dizi yerine parametre listesi kullanmak isteniyorsa, apply() Çok kolay bir yöntemdir.

Parametreli apply() yöntemi

apply() Yöntem, dizideki parametreleri kabul eder:

Örnek

var person = {
  fullName: function(city, country) {
    return this.firstName + " " + this.lastName + "," + city + "," + country;
  }
}
var person1 = {
  firstName:\"Bill\",
  lastName: "Gates"
}
person.fullName.apply(person1, ["Oslo", "Norway"]);

Kişisel Deneyim

ile call() Yöntem Karşılaştırması:

Örnek

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

Kişisel Deneyim

Diziler üzerinde max yöntemini simüle etmek için

Kullanabilirsiniz Math.max() Yöntemi (sayı dizisindeki) en büyük sayı bulmak için kullanabilirsiniz:

Örnek

Math.max(1,2,3);  // 3 döner

Kişisel Deneyim

JavaScript dizileri max() yöntemine sahip olmadığı için, Math.max() Yöntem.

Örnek

Math.max.apply(null, [1,2,3]); // 3 de döner

Kişisel Deneyim

İlk parametre (null) önemlidir değil. Bu örnekte kullanılmamıştır.

Bu örnekler aynı sonucu verecektir:

Örnek

Math.max.apply(Math, [1,2,3]); // 3 de döner

Kişisel Deneyim

Örnek

Math.max.apply(" ", [1,2,3]); // 3 de döner

Kişisel Deneyim

Örnek

Math.max.apply(0, [1,2,3]); // 3 de döner

Kişisel Deneyim

JavaScript Sıkı Modu

JavaScript sıkı modunda, eğer apply() Yöntemin ilk parametresi nesne değilse, o yöntem tüm çağrılan fonksiyonun sahibi (nesnesi) olacaktır. 'Sıkı' modunda, bu genel nesne olur.