Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengelakkan Perlaksanaan Fungsi Pramatang Apabila Melepasi Fungsi JavaScript sebagai Parameter?

Bagaimana untuk Mengelakkan Perlaksanaan Fungsi Pramatang Apabila Melepasi Fungsi JavaScript sebagai Parameter?

Linda Hamilton
Linda Hamiltonasal
2024-12-06 12:46:11382semak imbas

How to Avoid Premature Function Execution When Passing JavaScript Functions as Parameters?

Meluluskan Fungsi JavaScript sebagai Parameter

Melalukan fungsi sebagai parameter membolehkan anda menghantar rujukan fungsi dan bukannya melaksanakannya secara langsung. Ini berguna apabila anda perlu menangguhkan pelaksanaan ke masa yang akan datang. Walau bagaimanapun, memanggil fungsi sebagai parameter dalam fungsi induk boleh mengakibatkan pelaksanaan pramatang.

Untuk mengelakkan ini, tinggalkan tanda kurung apabila memanggil fungsi sebagai parameter. Begini caranya:

addContact(entityId, refreshContactList);

Dalam kes ini, refreshContactList diluluskan sebagai rujukan tanpa dilaksanakan serta-merta. Ia hanya akan dilaksanakan apabila fungsi addContact memanggilnya.

Contoh:

function addContact(id, refreshCallback) {
    refreshCallback(); // Execute the callback
}

function refreshContactList() {
    console.log('Contact list refreshed');
}

addContact(1, refreshContactList); // Pass the function reference without parentheses

Di sini, fungsi refreshContactList akan dilaksanakan apabila addContact memanggilnya. Anda juga boleh menghantar argumen kepada fungsi panggil balik, seperti yang ditunjukkan dalam contoh.

Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Perlaksanaan Fungsi Pramatang Apabila Melepasi Fungsi JavaScript sebagai Parameter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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