Fungsi Pelaksanaan Tunggal dalam JavaScript
Dalam JavaScript, memastikan fungsi yang dijalankan sekali sahaja boleh dicapai melalui pelbagai teknik.
Penyelesaian Berasaskan Penutupan
Untuk situasi di mana berbilang panggilan ke fungsi tidak seharusnya mencetuskan pelaksanaannya, penutupan boleh digunakan:
var onceFunction = (function() { var alreadyExecuted = false; return function() { if (!alreadyExecuted) { alreadyExecuted = true; // Execute the desired actions } }; })(); onceFunction(); // Executes onceFunction(); // No execution (alreadyExecuted is true)
Fungsi Perpustakaan
Beberapa perpustakaan JavaScript yang popular, seperti Underscore dan Ramda, menyediakan fungsi utiliti yang mudah dinamakan once(). Fungsi ini menerima fungsi sebagai hujah dan mengembalikan fungsi pembungkus yang memastikan fungsi yang dibekalkan dilaksanakan sekali sahaja:
const onceFunction = once(function() { /* Your code here */ }); onceFunction(); // Executes onceFunction(); // No execution (function is cached)
Fungsi Utiliti Tersuai
Jika perpustakaan luaran tidak tersedia, fungsi utiliti tersuai boleh dibuat:
const once = (func, context) => { let result; return () => { if (func) { result = func.apply(context || this, arguments); func = null; } return result; }; }; const oneTimeFunction = once(function() { /* Your code here */ }); oneTimeFunction(); // Executes oneTimeFunction(); // No execution (function is nullified)
Teknik ini menyediakan kaedah yang elegan dan boleh dipercayai untuk mencipta fungsi pelaksanaan tunggal dalam JavaScript, menangani keperluan yang dinyatakan dalam soalan.
Atas ialah kandungan terperinci Bagaimana untuk Memastikan Perlaksanaan Tunggal Fungsi dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!