Fungsi penutupan yang biasa digunakan dalam js termasuk fungsi penutupan asas, pemprosesan acara, pembilang, pemodulatan dan pelaksanaan tertunda, dsb. Pengenalan terperinci: 1. Fungsi penutupan asas ialah fungsi dalaman yang boleh mengakses pembolehubah fungsi luaran 2. Pemprosesan acara, dengan mengakses fungsi dan pembolehubah yang berkaitan, dengan itu merealisasikan fungsi pemprosesan acara; dipanggil Menaikkan atau mengurangkan nilai pembilang;
Sistem pengendalian tutorial ini: sistem Windows 10, komputer Dell G3.
Penutupan ialah konsep yang sangat penting dalam JavaScript, yang membenarkan fungsi mengakses pembolehubah di luar skop leksikalnya. Fungsi penutupan digunakan secara meluas dalam JavaScript, dan ia boleh membantu kami melaksanakan banyak fungsi dan logik yang kompleks. Dalam artikel ini, kami akan meneroka fungsi penutupan yang biasa digunakan dalam JavaScript dan menerangkannya secara terperinci.
1. Fungsi penutupan asas
Fungsi penutupan paling asas ialah fungsi dalaman yang boleh mengakses pembolehubah fungsi luaran. Contohnya:
function outerFunction() { let outerVar = 'I am outer'; function innerFunction() { console.log(outerVar); } return innerFunction; } let closureFunc = outerFunction(); closureFunc(); // 输出:I am outer
Dalam contoh ini, fungsi dalaman `innerFunction` boleh mengakses pembolehubah `outerVar` bagi fungsi luar `outerFunction`, yang merupakan fungsi penutupan mudah.
2. Fungsi penutupan dan pengendalian acara
Dalam JavaScript, kami sering menggunakan fungsi penutupan untuk mengendalikan acara. Contohnya:
function addEvent(element, type, handler) { element.addEventListener(type, function() { handler(element); }); } let button = document.getElementById('myButton'); addEvent(button, 'click', function(element) { console.log('Button clicked:', element); });
Dalam contoh ini, fungsi `addEvent` mencipta fungsi penutupan, yang boleh mengakses fungsi `pengendali` dan pembolehubah `elemen`, sekali gus merealisasikan fungsi pemprosesan acara.
3. Fungsi penutupan dan pembilang
Fungsi penutupan juga boleh digunakan untuk melaksanakan fungsi pembilang. Contohnya:
function createCounter() { let count = 0; return function() { count++; console.log(count); }; } let counter = createCounter(); counter(); // 输出:1 counter(); // 输出:2 counter(); // 输出:3
Dalam contoh ini, fungsi `createCounter` mengembalikan fungsi penutupan yang boleh mengakses pembolehubah `count` bagi fungsi luaran, sekali gus merealisasikan fungsi pembilang.
4. Fungsi penutupan dan modularisasi
Fungsi penutupan juga boleh digunakan untuk melaksanakan fungsi modular. Contohnya:
let myModule = (function() { let privateVar = 'I am private'; function privateFunction() { console.log(privateVar); } return { publicFunction: function() { privateFunction(); } }; })(); myModule.publicFunction(); // 输出:I am private
Dalam contoh ini, kami menggunakan fungsi penutupan untuk mencipta modul yang mengandungi pembolehubah peribadi dan fungsi peribadi, dan mendedahkan fungsi awam, dengan itu mencapai kefungsian modular.
5. Fungsi penutupan dan pelaksanaan tertunda
Fungsi penutupan juga boleh digunakan untuk melaksanakan pelaksanaan tertunda. Contohnya:
function delayExecution(func, time) { return function() { setTimeout(func, time); }; } let delayedFunc = delayExecution(function() { console.log('Delayed execution'); }, 1000); delayedFunc(); // 1秒后输出:Delayed execution
Dalam contoh ini, fungsi `delayExecution` mengembalikan fungsi penutupan yang boleh menangguhkan pelaksanaan fungsi yang diluluskan.
Ringkasan
Dalam JavaScript, fungsi penutupan adalah konsep yang sangat penting, ia boleh membantu kita melaksanakan banyak fungsi dan logik yang kompleks. Fungsi penutupan yang biasa digunakan termasuk fungsi penutupan asas, pengendalian acara, pembilang, modularisasi dan pelaksanaan tertunda. Dengan mempelajari dan menggunakan fungsi penutupan, kami dapat memahami dengan lebih baik ciri bahasa JavaScript dan menulis kod yang lebih fleksibel dan cekap. Saya harap artikel ini dapat membantu anda memahami dengan lebih baik fungsi penutupan yang biasa digunakan dalam JavaScript.
Atas ialah kandungan terperinci Apakah fungsi penutupan yang biasa digunakan dalam js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!