Rumah >hujung hadapan web >tutorial js >Penutupan dalam petua JavaScript_javascript

Penutupan dalam petua JavaScript_javascript

WBOY
WBOYasal
2016-05-16 15:13:521246semak imbas

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!

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