Penutupan ialah konsep asas dalam JavaScript yang mungkin kelihatan rumit tetapi sangat berkuasa. Berikut ialah panduan ringkas untuk memahaminya.
Penutupan dibuat apabila fungsi "mengingat" pembolehubah daripada skop leksikalnya, walaupun selepas skop itu telah keluar.
function outerFunction(outerVariable) { return function innerFunction(innerVariable) { console.log(`Outer: ${outerVariable}, Inner: ${innerVariable}`); }; } const myClosure = outerFunction("Hello"); myClosure("World"); // Output: Outer: Hello, Inner: World
Di sini, innerFunction mempunyai akses kepada outerVariable daripada skop outerFunction, walaupun selepas outerFunction telah selesai dilaksanakan.
function counter() { let count = 0; return function () { count++; return count; }; } const myCounter = counter(); console.log(myCounter()); // 1 console.log(myCounter()); // 2
function multiplyBy(multiplier) { return function (number) { return number * multiplier; }; } const double = multiplyBy(2); console.log(double(5)); // 10
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!