Mencipta Panggilan Balik Tersuai dalam JavaScript
Dalam JavaScript, melaksanakan panggilan balik tersuai melibatkan penghantaran fungsi panggil balik sebagai argumen kepada fungsi lain. Apabila fungsi utama menyelesaikan pelaksanaan, panggilan balik dipanggil.
Pelaksanaan Asas:
Buat fungsi yang menerima fungsi panggil balik sebagai argumen:
function doSomething(callback) { // ... // Call the callback callback('stuff', 'goes', 'here'); }
Tentukan fungsi panggil balik sebagai dilaksanakan:
function foo(a, b, c) { alert(a + " " + b + " " + c); }
Panggil fungsi utama dan hantar panggilan balik sebagai hujah:
doSomething(foo);
Konsep Lanjutan:
Menggunakan 'ini':
Kadangkala, anda mungkin mahu laksanakan panggilan balik menggunakan konteks tertentu (iaitu, 'ini'). Ini boleh dicapai menggunakan fungsi call():
function Thing(name) { this.name = name; } Thing.prototype.doSomething = function(callback) { callback.call(this); } function foo() { alert(this.name); } var t = new Thing('Joe'); t.doSomething(foo); // Alerts "Joe" via `foo`
Melalui Argumen:
Anda boleh menghantar argumen tambahan kepada panggilan balik dengan menggunakan call() atau apply() fungsi.
Menggunakan apply():
Luluskan hujah sebagai tatasusunan:
function Thing(name) { this.name = name; } Thing.prototype.doSomething = function(callback) { callback.apply(this, ['Hi', 3, 2, 1]); } function foo(salutation, three, two, one) { alert(salutation + " " + this.name + " - " + three + " " + two + " " + one); } var t = new Thing('Joe'); t.doSomething(foo); // Alerts "Hi Joe - 3 2 1" via `foo`
Menggunakan call():
Luluskan hujah secara individu:
function Thing(name) { this.name = name; } Thing.prototype.doSomething = function(callback, salutation) { callback.call(this, salutation); } function foo(salutation) { alert(salutation + " " + this.name); } var t = new Thing('Joe'); t.doSomething(foo, 'Hi'); // Alerts "Hi Joe" via `foo`
Panggil balik tersuai memberikan fleksibiliti dalam pembangunan JavaScript, membenarkan fungsi untuk melaksanakan tertentu tindakan setelah selesai. Dengan memahami asas dan konsep lanjutan, anda boleh melaksanakan dan menggunakan panggilan balik dengan berkesan dalam aplikasi anda.
Atas ialah kandungan terperinci Bagaimanakah panggilan balik tersuai memberikan fleksibiliti dan kefungsian dalam pembangunan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!