Apakah panggilan balik
Fungsi panggil balik ialah fungsi yang dipanggil melalui penuding fungsi. Jika anda menghantar penuding fungsi (alamat) sebagai parameter kepada fungsi lain, dan apabila penuding ini digunakan untuk memanggil fungsi yang ditunjuknya, kami katakan ia adalah fungsi panggil balik. Fungsi panggil balik tidak dipanggil secara langsung oleh pelaksana fungsi, tetapi dipanggil oleh pihak lain apabila peristiwa atau keadaan tertentu berlaku untuk bertindak balas kepada peristiwa atau keadaan.
Penjelasan ini kelihatan rumit, jadi saya menemui penjelasan yang lebih baik tentang Zhihu
Anda pergi ke kedai untuk membeli sesuatu, dan barang yang anda inginkan kehabisan stok, jadi anda tinggalkan nombor telefon anda dengan kerani Selepas beberapa hari, kedai itu mempunyai stok, dan kerani menghubungi nombor anda, dan kemudian anda menerima panggilan. Kemudian saya pergi ke kedai untuk mengambil barang. Dalam contoh ini, nombor telefon anda dipanggil fungsi panggil balik Apabila anda meninggalkan nombor telefon anda dengan kerani kedai, ia dipanggil fungsi panggil balik pendaftaran Apabila kedai mempunyai barang kemudian, ia dipanggil acara yang dikaitkan dengan panggilan balik kerani kedai memanggil anda, ia dipanggil fungsi panggil balik Apabila anda pergi ke kedai untuk mengambil barang, ia dipanggil bertindak balas kepada acara panggil balik. Selesai menjawab.
Dalam Javascript:
Fungsi A diluluskan sebagai parameter (rujukan fungsi) kepada fungsi B yang lain, dan fungsi B ini melaksanakan fungsi A. Katakan saja fungsi A dipanggil fungsi panggil balik. Jika tiada nama (ungkapan fungsi), ia dipanggil fungsi panggil balik tanpa nama.
Sebenarnya, fungsi itu diluluskan sebagai parameter.
Panggil Balik Javascript
Buang semua penjelasan rumit di atas ke dalam tong sampah~ dan lihat apa itu Panggilan Balik
Apakah Panggilan Balik
Dalam jQuery, kaedah hide kelihatan seperti ini
$(selector).sembunyikan(kelajuan,panggil balik)
Apabila menggunakan,
$('#elemen').sembunyikan(1000, fungsi() {
// fungsi panggil balik
});
Kita hanya perlu menulis fungsi mudah di dalamnya
$('#elemen').sembunyikan(1000, fungsi() {
console.log('Sembunyikan');
});
Terdapat nota kecil dalam ini: fungsi Panggilan Balik dilaksanakan selepas animasi semasa 100% siap. Kemudian kita boleh melihat fenomena sebenar Apabila elemen dengan id elemen disembunyikan, Sembunyikan akan dikeluarkan dalam konsol.
juga bermaksud:
Panggil balik sebenarnya bermaksud bahawa selepas fungsi dilaksanakan, fungsi yang sedang dilaksanakan ialah fungsi panggil balik yang dipanggil.
Fungsi panggil balik
Biasanya fungsi dilaksanakan mengikut turutan, tetapi Javascript ialah bahasa yang dipacu peristiwa.
fungsi hello(){
console.log('hello');
}
dunia fungsi(){
console.log('dunia');
}
hello();
dunia();
Oleh itu, dalam keadaan biasa, mereka akan dilaksanakan dengan teratur, tetapi apabila masa untuk melaksanakan acara dunia agak panjang.
fungsi hello(){
setTimeout( function(){
console.log( 'hello' );
}, 1000 );
}
dunia fungsi(){
console.log('dunia');
}
hello();
dunia();
Maka ini tidak berlaku pada masa ini, dunia akan menjadi output, dan kemudian hello akan menjadi output, jadi kami memerlukan panggilan balik.
Peristiwa panggilan balik
Contoh mudah adalah seperti berikut
fungsi add_callback(p1, p2 ,callback) {
var nombor_saya = p1 p2;
panggil balik(nombor_saya);
}
add_callback(5, 15, function(num){
console.log("panggilan " num);
});
Dalam contoh kita mempunyai fungsi add_callback yang menerima tiga parameter: dua yang pertama ialah dua parameter yang akan ditambah, dan parameter ketiga ialah fungsi panggil balik. Apabila fungsi dilaksanakan, hasil penambahan dikembalikan dan 'panggilan 20' dikeluarkan ke konsol.