Terdapat dua cara yang biasa digunakan untuk membuat penutupan dalam JavaScript.
Kaedah pembina:
new function() { var 变量... }
Kaedah pelaksanaan sebaris:
(function() { var 变量... })();
Apakah perbezaan antara mereka di bawah mekanisme pengendalian dalaman JavaScript? Cara mana yang lebih baik untuk dibuat? Apakah kelebihannya berbanding penutupan yang dibuat dengan cara lain?
Beginilah cara saya memahaminya:
Perbezaan:
Pertama: Subkaedah boleh berkongsi pembolehubah
Kedua: Pembolehubah kongsi subkaedah dalaman
Bandingkan:
Saya rasa sebaris lebih baik;
Kelebihan:
Secara amnya, penciptaan sebaris memerlukan memori atas permintaan, kerana hanya pembolehubah yang dilaksanakan secara tempatan berada dalam ingatan yang berkaitan dan kod bersandar boleh disusun untuk meminimumkan risiko interaksi yang tidak dijangka dan membina semua pembolehubah pelaksanaan Kaedah mesti disimpan dalam memori, yang akan menjejaskan. prestasi halaman web adalah disyorkan untuk memadamkan pembolehubah sebelum keluar
Sudah tentu, ini hanya pemahaman peribadi saya, sebenarnya, secara amnya menggunakan penutupan akan menyebabkan kebocoran memori, terutamanya di bawah pelayar kernel IE Adalah lebih baik untuk mematikan pembolehubah selepas ia digunakan.
Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya