Melaksanakan Fungsi JavaScript Sekali Pakai
Dalam JavaScript, kadangkala wajar untuk mencipta fungsi yang boleh dilaksanakan sekali sahaja. Walaupun pembolehubah statik boleh mencapai ini dalam bahasa seperti C dan Java, JavaScript menawarkan penyelesaian yang lebih elegan.
Pelaksanaan Berasaskan Penutupan
Penutupan, yang merangkum pembolehubah dalam fungsi, boleh menghalang fungsi daripada dilaksanakan beberapa kali dengan berkesan. Coretan kod berikut menunjukkan pendekatan ini:
<code class="javascript">var something = (function() { var executed = false; return function() { if (!executed) { executed = true; // Execute the desired actions } }; })();</code>
Dengan memanggil sesuatu(), fungsi akan digunakan sekali dan menetapkan bendera yang dilaksanakan kepada benar. Panggilan berikutnya kepada fungsi itu tidak akan mempunyai kesan kerana dilaksanakan sudah benar.
Once() Fungsi Utiliti
Banyak perpustakaan JavaScript, seperti Underscore dan Ramda, menyediakan once() fungsi utiliti yang berfungsi untuk tujuan ini. Kod berikut menunjukkan cara menggunakan fungsi once() daripada Lodash:
<code class="javascript">import { once } from "lodash"; function something() { // Execute actions } const one_something = once(something); one_something(); // Executes something one_something(); // No effect</code>
Fungsi Sekali() Tersuai
Jika tidak menggunakan perpustakaan, anda boleh dengan mudah laksanakan fungsi once() anda sendiri:
<code class="javascript">function once(fn, context) { var result; return function() { if (fn) { result = fn.apply(context || this, arguments); fn = null; } return result; }; }</code>
Fungsi ini membungkus fungsi yang diberikan fn dan memastikan ia dipanggil sekali sahaja, menyimpan cache nilai yang dikembalikan untuk panggilan berikutnya.
Dengan memanfaatkan penutupan atau fungsi utiliti, anda boleh mencipta fungsi JavaScript yang dilaksanakan sekali sahaja, memberikan pendekatan yang mudah dan serba boleh untuk pelbagai kes penggunaan.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Fungsi JavaScript Sekali Pakai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!