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.
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"
Dalam contoh ini, panggilan menukar nilai ini daripada orang kepada orang lain, jadi fungsi salam mencetak "Helo, nama saya Bob".
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!"
Di sini, gunakan juga menukar nilai ini kepada anotherPerson dan membolehkan anda menghantar berbilang argumen sebagai tatasusunan.
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"
Dalam contoh ini, bind mencipta fungsi baharu greetDiana dengan terikat ini kepada anotherPerson. Apabila anda memanggil greetDiana, ia mencetak "Hai, nama saya Diana".
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!