Rumah > hujung hadapan web > tutorial js > Apakah Penutupan dalam JavaScript? (Panduan inute)

Apakah Penutupan dalam JavaScript? (Panduan inute)

DDD
Lepaskan: 2024-11-22 03:42:24
asal
356 orang telah melayarinya

What Are Closures in JavaScript? (inute Guide)

Apakah Penutupan dalam JavaScript?

Penutupan ialah konsep asas dalam JavaScript yang mungkin kelihatan rumit tetapi sangat berkuasa. Berikut ialah panduan ringkas untuk memahaminya.

Apakah Penutupan?

Penutupan dibuat apabila fungsi "mengingat" pembolehubah daripada skop leksikalnya, walaupun selepas skop itu telah keluar.

Contoh:

function outerFunction(outerVariable) {  
  return function innerFunction(innerVariable) {  
    console.log(`Outer: ${outerVariable}, Inner: ${innerVariable}`);  
  };  
}  

const myClosure = outerFunction("Hello");  
myClosure("World");  
// Output: Outer: Hello, Inner: World
Salin selepas log masuk

Di sini, innerFunction mempunyai akses kepada outerVariable daripada skop outerFunction, walaupun selepas outerFunction telah selesai dilaksanakan.

Mengapa Penutupan Berguna?

Privasi Data: Cipta pembolehubah peribadi.

function counter() {  
  let count = 0;  
  return function () {  
    count++;  
    return count;  
  };  
}  
const myCounter = counter();  
console.log(myCounter()); // 1
console.log(myCounter()); // 2  
Salin selepas log masuk

Aplikasi Separa: Argumen fungsi praisi.

function multiplyBy(multiplier) {  
  return function (number) {  
    return number * multiplier;  
  };  
}  
const double = multiplyBy(2);  
console.log(double(5)); // 10  
Salin selepas log masuk

Kesimpulan

Penutupan membolehkan fungsi mengingati persekitaran mereka. Ia bagus untuk pembolehubah peribadi, aplikasi separa dan banyak corak lanjutan lain dalam JavaScript.

Atas ialah kandungan terperinci Apakah Penutupan dalam JavaScript? (Panduan inute). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan