Rumah >hujung hadapan web >tutorial js >Apakah fungsi penutupan yang biasa digunakan dalam js?

Apakah fungsi penutupan yang biasa digunakan dalam js?

DDD
DDDasal
2023-11-14 15:48:101029semak imbas

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;

Apakah fungsi penutupan yang biasa digunakan dalam js?

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!

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