javascript - masalah kebocoran memori js
黄舟
黄舟 2017-05-19 10:42:35
0
4
659
   var user = { name: 'tom', age: 20, gender: 'male' }
   var test = document.getElementById('test');
       test.onclick = function() {
           test.innerHTML = user.name;
       }
   user = null; // 释放对象
   

Saya menghadapi soalan temu bual seperti ini baru-baru ini Adakah terdapat kebocoran ingatan dalam perenggan ini, bolehkah seseorang menunjukkan sebabnya dan bagaimana untuk menghapuskan kebocoran memori

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

membalas semua(4)
给我你的怀抱

Memori bocorRingkasnya, memori yang diperuntukkan tidak boleh digunakan atau dikitar semula sehingga proses pelayar tamat.

Untuk masalah rujukan pekelilinghanya hapuskan rujukan terus, tetapkan test=null,因为jsmekanisme kutipan sampah untuk dilaksanakan secara berkala, cari pembolehubah yang tidak lagi digunakan, dan kemudian lepaskan memori yang diduduki oleh mereka.
. Kutipan sampah

仅有的幸福

Prinsipnya adalah seperti yang ditunjukkan dalam gambar di bawah Ujian anda adalah elem dalam gambar Ia merujuk kepada elemen dom dan menambah pengendali acara kepada elemen dom Walau bagaimanapun, fungsi pemprosesan acara merujuk kepada ujian dalam skop luaran. jadi seperti berikut: Ia menjadi rujukan bulat.

Kebocoran memori sebenarnya adalah ujian dan bukannya pengguna Membersihkan rujukan kepada ujian luaran boleh memusnahkan rujukan pekeliling ini.

Malah, ini tidak akan menjadi masalah dalam pelayar moden kerana penggunaan algoritma tanda dan sapu Dalam pelayar lama, algoritma pengumpulan sampah hanya akan menyebabkan kebocoran memori disebabkan rujukan, iaitu rujukan bulat akan menyebabkan objek. menjadi tidak tersedia dan masih tidak boleh menjadi sampah.

世界只因有你

Apakah itu kebocoran ingatan?

Ini akan menyebabkan ralat pelaksanaan. . . . . .

巴扎黑

Sudah pasti, ia termasuk dalam soalan temuduga CVTE. Oleh kerana rujukan kepada nama pengguna dikekalkan dalam acara klik, ia masih akan dibocorkan.
Mengenai cara untuk menghapuskan masalah, satu-satunya perkara yang saya boleh fikirkan ialah dengan tidak merujuk secara langsung seperti yang dinyatakan di atas

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!