Fungsi Apply Pemrograman JavaScript

metode penggunaan ulang

dengan apply() metode, Anda dapat menulis metode untuk objek yang berbeda.

metode apply() JavaScript

apply() metode dengan call() metode sangat mirip:

dalam kasus ini,person dari fullName metode yang digunakanaplikasike person1:

Contoh

var person = {
    fullName: function() {
        return this.firstName + " " + this.lastName;
    }
}
var person1 = {
    firstName: "Bill",
    lastName: "Gates",
}
person.fullName.apply(person1);  // akan mengembalikan "Bill Gates"

Coba Sendiri

perbedaan antara call() dan apply()

perbedaan nya adalah:

call() metode menerima parameter secara terpisah.

apply() metode menerima parameter dalam bentuk array.

Jika ingin menggunakan array daripada daftar parameter, maka apply() sangat mudah digunakan.

metode apply() dengan parameter

apply() metode menerima parameter dalam bentuk array:

Contoh

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

Coba Sendiri

dengan call() metode banding:

Contoh

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

Coba Sendiri

untuk mensimulasikan metode max di atas array

Anda dapat menggunakan Math.max() Fungsi mencari angka terbesar (di dalam daftar angka):

Contoh

Math.max(1,2,3);  // akan kembalikan 3

Coba Sendiri

Karena array JavaScript tidak memiliki metode max(), jadi Anda dapat menerapkan Math.max() Fungsi.

Contoh

Math.max.apply(null, [1,2,3]); // Juga akan kembalikan 3

Coba Sendiri

Parameter pertama (null) tak penting. Dalam contoh ini belum digunakan.

Contoh-contoh ini akan memberikan hasil yang sama:

Contoh

Math.max.apply(Math, [1,2,3]); // Juga akan kembalikan 3

Coba Sendiri

Contoh

Math.max.apply(" ", [1,2,3]); // Juga akan kembalikan 3

Coba Sendiri

Contoh

Math.max.apply(0, [1,2,3]); // Juga akan kembalikan 3

Coba Sendiri

Mode Ketat JavaScript

Dalam mode ketat JavaScript, jika apply() Jika parameter pertama bukan objek, maka ia akan menjadi pemilik fungsi yang dipanggil (objek). Dalam mode “tidak ketat”, ia menjadi objek global.