Rumah > hujung hadapan web > tutorial js > Memahami panggilan, gunakan dan ikat dalam JavaScript dengan Contoh Mudah

Memahami panggilan, gunakan dan ikat dalam JavaScript dengan Contoh Mudah

WBOY
Lepaskan: 2024-09-01 21:11:37
asal
608 orang telah melayarinya

Understanding call, apply, and bind in JavaScript with Simple Examples

Memahami panggilan, gunakan dan ikat dalam JavaScript dengan Contoh Mudah

Apabila bekerja dengan JavaScript, anda mungkin menemui tiga kaedah yang berkuasa: panggil, gunakan dan ikat. Kaedah ini digunakan untuk mengawal nilai ini dalam fungsi, menjadikannya lebih mudah untuk bekerja dengan objek. Mari pecahkan setiap kaedah dengan contoh mudah untuk memahami cara ia berfungsi.

1. Kaedah panggilan

Kaedah panggilan membolehkan anda menggunakan fungsi dengan nilai ini tertentu dan menyampaikan hujah satu demi satu.

const person = {
  name: 'Alice',
  greet: function(greeting) {
    console.log(`${greeting}, my name is ${this.name}`);
  }
};

const anotherPerson = { name: 'Bob' };

person.greet.call(anotherPerson, 'Hello');
// Output: "Hello, my name is Bob"
Salin selepas log masuk

Dalam contoh ini, panggilan menukar nilai ini daripada orang kepada orang lain, jadi fungsi salam mencetak "Helo, nama saya Bob".

2. gunakan Kaedah

Kaedah guna adalah serupa dengan panggilan, tetapi ia mengambil argumen sebagai tatasusunan dan bukannya satu demi satu.

const person = {
  name: 'Alice',
  greet: function(greeting, punctuation) {
    console.log(`${greeting}, my name is ${this.name}${punctuation}`);
  }
};

const anotherPerson = { name: 'Charlie' };

person.greet.apply(anotherPerson, ['Hi', '!']);
// Output: "Hi, my name is Charlie!"
Salin selepas log masuk

Di sini, gunakan juga menukar nilai ini kepada anotherPerson dan membolehkan anda menghantar berbilang argumen sebagai tatasusunan.

3. Kaedah ikat

Kaedah bind tidak memanggil fungsi dengan segera. Sebaliknya, ia mengembalikan fungsi baharu dengan nilai terikat ini yang boleh anda panggil kemudian.

const person = {
  name: 'Alice',
  greet: function() {
    console.log(`Hi, my name is ${this.name}`);
  }
};

const anotherPerson = { name: 'Diana' };

const greetDiana = person.greet.bind(anotherPerson);

greetDiana();
// Output: "Hi, my name is Diana"
Salin selepas log masuk

Dalam contoh ini, bind mencipta fungsi baharu greetDiana dengan terikat ini kepada anotherPerson. Apabila anda memanggil greetDiana, ia mencetak "Hai, nama saya Diana".

Ringkasan

  • panggilan: Segera memanggil fungsi dengan nilai tertentu ini dan hujah yang diluluskan satu demi satu.
  • terapkan: Segera memanggil fungsi dengan nilai tertentu ini dan argumen yang diluluskan sebagai tatasusunan.
  • bind: Mengembalikan fungsi baharu dengan nilai tertentu ini, yang boleh anda panggil kemudian.

Kaedah ini berguna apabila anda perlu meminjam kaedah daripada satu objek untuk digunakan dengan objek lain atau apabila anda mahukan lebih kawalan ke atas nilai ini dalam fungsi anda.


Atas ialah kandungan terperinci Memahami panggilan, gunakan dan ikat dalam JavaScript dengan Contoh Mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan