1. Apakah itu penutupan
Penutupan, penjelasan rasmi penutupan ialah: ungkapan (biasanya fungsi) yang mempunyai banyak pembolehubah dan persekitaran yang terikat pada pembolehubah ini, jadi pembolehubah ini juga merupakan sebahagian daripada ungkapan.
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 sedemikian dipanggil di luar fungsi luar yang mengandunginya.
Ciri-ciri penutupan
1 fungsi bersarang fungsi
2 Parameter dan pembolehubah luaran boleh dirujuk di dalam fungsi
3 Parameter dan pembolehubah tidak akan dikitar semula oleh mekanisme kutipan sampah
Selepas fungsi umum dilaksanakan, objek aktif tempatan dimusnahkan, dan hanya skop global disimpan dalam ingatan. Tetapi keadaan dengan penutupan adalah berbeza!
function fn(){ var a = ; function fn(){ //可以访问fn中定义的a值 alert( a++ ); } fn(); } fn(); // fn(); // function fn(){ var a = ; function fn(){ //可以访问fn中定义的a值 alert( a++ ); } return fn;// } var f = fn(); f(); // 执行完后a还在内存中 f(); // f = null; //a被回收
Di atas adalah pengenalan editor kepada penutupan dalam JavaScript. Saya harap ia akan membantu anda!