Bilakah javascript membentuk penutupan?

WBOY
Lepaskan: 2022-03-02 16:42:46
asal
2159 orang telah melayarinya

Dalam JavaScript, apabila fungsi dalaman dipanggil di luar fungsi luaran yang mengandungi fungsi dalaman, penutupan terbentuk ialah kawasan tindanan yang tidak melepaskan sumber apabila fungsi itu kembali , penutupan berfungsi sebagai rujukan kepada pembolehubah fungsi dan diaktifkan apabila fungsi itu kembali.

Bilakah javascript membentuk penutupan?

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi JavaScript 1.8.5, komputer Dell G3.

Bilakah JavaScript membentuk penutupan

Penjelasan rasmi penutupan ialah: ungkapan (biasanya fungsi) dengan banyak pembolehubah dan persekitaran terikat kepada pembolehubah ini, jadi Pembolehubah ini juga merupakan sebahagian daripada ungkapan tersebut.

Ciri-ciri penutupan:

1. Sebagai rujukan kepada pembolehubah fungsi, ia diaktifkan apabila fungsi itu kembali.

2. Penutupan ialah kawasan tindanan yang tidak melepaskan sumber apabila fungsi kembali.

Ringkasnya, JavaScript membenarkan penggunaan fungsi dalaman---iaitu, definisi fungsi dan ungkapan fungsi terletak dalam badan fungsi fungsi lain. Tambahan pula, fungsi dalaman ini mempunyai akses kepada semua pembolehubah tempatan, parameter dan fungsi dalaman lain yang diisytiharkan dalam fungsi luar di mana ia wujud.

Penutupan terbentuk apabila salah satu fungsi dalaman ini dipanggil di luar fungsi luar yang mengandunginya.

function closure(){
var str = "I'm a part variable.";
return function(){
alert(str);
}
}
var fObj = closure();
fObj();
Salin selepas log masuk

Dalam kod di atas, str ialah pembolehubah setempat yang ditakrifkan dalam penutupan fungsi Jika str tidak lagi boleh diakses selepas panggilan fungsi penutupan selesai, str akan dikeluarkan selepas pelaksanaan fungsi selesai. .

Walau bagaimanapun, kerana penutupan fungsi mengembalikan fungsi dalaman, dan fungsi yang dikembalikan merujuk kepada pembolehubah str, str boleh dirujuk selepas fungsi penutupan dilaksanakan, jadi sumber yang diduduki oleh str tidak akan dikitar semula. Penutupan ini membentuk penutupan.

Cadangan berkaitan: Tutorial pembelajaran javascript

Atas ialah kandungan terperinci Bilakah javascript membentuk penutupan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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