Rumah hujung hadapan web tutorial js 怎么避免JS在IE9之前版本中内存泄露

怎么避免JS在IE9之前版本中内存泄露

May 15, 2018 am 10:25 AM
ie javascript Ingatan

这次给大家带来怎么避免JS在IE9之前版本中内存泄露,避免JS在IE9之前版本中内存泄露的注意事项有哪些,下面就是实战案例,一起来看一下。

IE9之前的版本对JScript对象和COM对象使用不同的垃圾回收例程(COM对象采用“引用计数”收集策略),因此闭包在IE的这些版本中会导致一些特殊问题。具体来说,如果闭包的作用域中保存着一个HTML元素,那么就意味着该元素将无法被销毁。
来看下面的例子:

function assignHandler() {
  var elem = document.getElementById('elem_id');
  elem.onclick = function(evt) {
    alert(elem.id);
  };
}
Salin selepas log masuk

以上代码创建了一个作为elem元素事件处理程序的闭包,而这个闭包则又创建了一个循环引用。由于匿名函数保存了一个对assignHandler()的活动对象的引用,因此就会导致无法减少elem的引用数。只要匿名函数存在,elem的引用数至少也是1,因此它所占用的内存就永远不会被回收。

可以将上面的代码稍作修改一下就可以解决:

function assignHandler() {
  var elem = document.getElementById('elem_id');
  var elem_id = elem.id;
  elem.onclick = function(evt) {
    alert(elem_id);
  };
  elem = null;
}
Salin selepas log masuk

通过把elem.id的一个副本保存在一个变量中,并且在闭包中引用该变量消除了循环引用。但仅仅做到这一步,还是不能解决内存泄露问题。

“闭包会引用包含函数的整个活动对象,而其中就包含着elem。即使闭包不直接引用elem,包含函数的活动对象中也仍然会保存一个引用。因此,有必要把elem设置为null。这样就能解除对DOM对象的引用,顺利地减少其引用数,确保正常回收其占用的内存”

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

layui动态与静态分页实现步骤详解

vue+jquery+lodash滑动时顶部悬浮固定功能实现详解

Atas ialah kandungan terperinci 怎么避免JS在IE9之前版本中内存泄露. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pengoptimuman memori yang besar, apakah yang perlu saya lakukan jika komputer menaik taraf kepada kelajuan memori 16g/32g dan tiada perubahan? Pengoptimuman memori yang besar, apakah yang perlu saya lakukan jika komputer menaik taraf kepada kelajuan memori 16g/32g dan tiada perubahan? Jun 18, 2024 pm 06:51 PM

Untuk pemacu keras mekanikal atau pemacu keadaan pepejal SATA, anda akan merasakan peningkatan kelajuan berjalan perisian Jika ia adalah pemacu keras NVME, anda mungkin tidak merasakannya. 1. Import pendaftaran ke dalam desktop dan buat dokumen teks baharu, salin dan tampal kandungan berikut, simpannya sebagai 1.reg, kemudian klik kanan untuk menggabungkan dan memulakan semula komputer. WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement]"DisablePagingExecutive"=d

Bagaimana untuk menyemak penggunaan memori Xiaomi Mi 14Pro? Bagaimana untuk menyemak penggunaan memori Xiaomi Mi 14Pro? Mar 18, 2024 pm 02:19 PM

Baru-baru ini, Xiaomi mengeluarkan telefon pintar mewah berkuasa tinggi Xiaomi 14Pro, yang bukan sahaja mempunyai reka bentuk yang bergaya, tetapi juga mempunyai teknologi hitam dalaman dan luaran. Telefon ini mempunyai prestasi terbaik dan keupayaan berbilang tugas yang sangat baik, membolehkan pengguna menikmati pengalaman telefon mudah alih yang pantas dan lancar. Walau bagaimanapun, prestasi juga akan dipengaruhi oleh memori Ramai pengguna ingin mengetahui cara menyemak penggunaan memori Xiaomi 14Pro, jadi mari kita lihat. Bagaimana untuk menyemak penggunaan memori Xiaomi Mi 14Pro? Pengenalan kepada cara menyemak penggunaan memori Xiaomi 14Pro Buka butang [Pengurusan Aplikasi] dalam [Tetapan] telefon Xiaomi 14Pro. Untuk melihat senarai semua apl yang dipasang, semak imbas senarai dan cari apl yang ingin anda lihat, klik padanya untuk memasuki halaman butiran apl. Dalam halaman butiran permohonan

Adakah terdapat perbezaan besar antara memori 8g dan 16g dalam komputer? (Pilih 8g atau 16g memori komputer) Adakah terdapat perbezaan besar antara memori 8g dan 16g dalam komputer? (Pilih 8g atau 16g memori komputer) Mar 13, 2024 pm 06:10 PM

Apabila pengguna baru membeli komputer, mereka akan tertanya-tanya tentang perbezaan antara memori komputer 8g dan 16g? Perlukah saya memilih 8g atau 16g? Sebagai tindak balas kepada masalah ini, hari ini editor akan menerangkannya kepada anda secara terperinci. Adakah terdapat perbezaan besar antara 8g dan 16g memori komputer? 1. Untuk keluarga biasa atau kerja biasa, memori berjalan 8G boleh memenuhi keperluan, jadi tidak banyak perbezaan antara 8g dan 16g semasa penggunaan. 2. Apabila digunakan oleh peminat permainan, pada masa ini permainan berskala besar pada asasnya bermula pada 6g, dan 8g ialah standard minimum. Pada masa ini, apabila skrin adalah 2k, resolusi yang lebih tinggi tidak akan membawa prestasi kadar bingkai yang lebih tinggi, jadi tiada perbezaan besar antara 8g dan 16g. 3. Bagi pengguna penyuntingan audio dan video, akan terdapat perbezaan yang jelas antara 8g dan 16g.

Sumber mengatakan Samsung Electronics dan SK Hynix akan mengkomersialkan memori mudah alih bertindan selepas 2026 Sumber mengatakan Samsung Electronics dan SK Hynix akan mengkomersialkan memori mudah alih bertindan selepas 2026 Sep 03, 2024 pm 02:15 PM

Menurut berita dari laman web ini pada 3 September, media Korea etnews melaporkan semalam (waktu tempatan) bahawa produk memori mudah alih berstruktur "seperti HBM" SK Hynix akan dikomersialkan selepas 2026. Sumber berkata bahawa kedua-dua gergasi memori Korea menganggap memori mudah alih bertindan sebagai sumber penting hasil masa hadapan dan merancang untuk mengembangkan "memori seperti HBM" kepada telefon pintar, tablet dan komputer riba untuk membekalkan kuasa untuk AI bahagian hujung. Menurut laporan sebelumnya di laman web ini, produk Samsung Electronics dipanggil memori LPWide I/O, dan SK Hynix memanggil teknologi ini VFO. Kedua-dua syarikat telah menggunakan laluan teknikal yang hampir sama, iaitu menggabungkan pembungkusan kipas dan saluran menegak. Memori LPWide I/O Samsung Electronics mempunyai sedikit lebar 512

Samsung mengumumkan penyiapan pengesahan teknologi proses penyusunan ikatan hibrid 16 lapisan, yang dijangka digunakan secara meluas dalam memori HBM4 Samsung mengumumkan penyiapan pengesahan teknologi proses penyusunan ikatan hibrid 16 lapisan, yang dijangka digunakan secara meluas dalam memori HBM4 Apr 07, 2024 pm 09:19 PM

Menurut laporan itu, eksekutif Samsung Electronics Dae Woo Kim berkata bahawa pada Mesyuarat Tahunan Persatuan Mikroelektronik dan Pembungkusan Korea 2024, Samsung Electronics akan melengkapkan pengesahan teknologi memori HBM ikatan hibrid 16 lapisan. Dilaporkan bahawa teknologi ini telah lulus pengesahan teknikal. Laporan itu juga menyatakan bahawa pengesahan teknikal ini akan meletakkan asas untuk pembangunan pasaran memori dalam beberapa tahun akan datang. DaeWooKim berkata bahawa Samsung Electronics telah berjaya menghasilkan memori HBM3 bertindan 16 lapisan berdasarkan teknologi ikatan hibrid Sampel memori berfungsi seperti biasa Pada masa hadapan, teknologi ikatan hibrid bertindan 16 lapisan akan digunakan untuk pengeluaran besar-besaran memori HBM4. ▲Sumber imej TheElec, sama seperti di bawah Berbanding dengan proses ikatan sedia ada, ikatan hibrid tidak perlu menambah bonjolan antara lapisan memori DRAM, tetapi secara langsung menghubungkan lapisan atas dan bawah tembaga kepada kuprum.

Micron: Memori HBM menggunakan 3 kali jumlah wafer, dan kapasiti pengeluaran pada dasarnya ditempah untuk tahun depan Micron: Memori HBM menggunakan 3 kali jumlah wafer, dan kapasiti pengeluaran pada dasarnya ditempah untuk tahun depan Mar 22, 2024 pm 08:16 PM

Menurut berita dari laman web ini pada 21 Mac, Micron mengadakan panggilan persidangan selepas mengeluarkan laporan kewangan suku tahunannya. Pada persidangan itu, Ketua Pegawai Eksekutif Micron Sanjay Mehrotra berkata berbanding memori tradisional, HBM menggunakan lebih banyak wafer. Micron berkata bahawa apabila menghasilkan kapasiti yang sama pada nod yang sama, memori HBM3E yang paling canggih semasa menggunakan wafer tiga kali lebih banyak daripada DDR5 standard, dan dijangka apabila prestasi bertambah baik dan kerumitan pembungkusan semakin meningkat, pada masa hadapan HBM4 Nisbah ini akan terus meningkat. . Merujuk kepada laporan terdahulu di laman web ini, nisbah yang tinggi ini sebahagiannya disebabkan oleh kadar hasil HBM yang rendah. Memori HBM disusun dengan sambungan TSV memori DRAM berbilang lapisan Masalah dengan satu lapisan bermakna keseluruhannya

Lexar melancarkan kit memori Ares Wings of War DDR5 7600 16GB x2: Hynix A-die particles, 1,299 yuan Lexar melancarkan kit memori Ares Wings of War DDR5 7600 16GB x2: Hynix A-die particles, 1,299 yuan May 07, 2024 am 08:13 AM

Menurut berita dari laman web ini pada 6 Mei, Lexar melancarkan memori overclocking DDR57600CL36 siri Ares Wings of War Set 16GBx2 akan tersedia untuk pra-jualan pada 0:00 pada 7 Mei dengan deposit 50 yuan, dan harganya adalah. 1,299 yuan. Memori Lexar Wings of War menggunakan cip memori Hynix A-die, menyokong Intel XMP3.0 dan menyediakan dua pratetap overclocking berikut: 7600MT/s: CL36-46-46-961.4V8000MT/s: CL38-48-49 -1001.45V Dari segi pelesapan haba, set memori ini dilengkapi dengan jaket pelesapan haba aluminium setebal 1.8mm dan dilengkapi dengan pad gris silikon konduktif haba eksklusif PMIC. Memori menggunakan 8 manik LED kecerahan tinggi dan menyokong 13 mod pencahayaan RGB.

Memori yang dipasang tidak muncul pada Windows 11 Memori yang dipasang tidak muncul pada Windows 11 Mar 10, 2024 am 09:31 AM

Jika anda telah memasang RAM baharu tetapi ia tidak dipaparkan pada komputer Windows anda, artikel ini akan membantu anda menyelesaikan isu tersebut. Biasanya, kami meningkatkan prestasi sistem dengan menaik taraf RAM. Walau bagaimanapun, prestasi sistem juga bergantung pada perkakasan lain seperti CPU, SSD, dll. Menaik taraf RAM juga boleh meningkatkan pengalaman permainan anda. Sesetengah pengguna menyedari bahawa memori yang dipasang tidak muncul dalam Windows 11/10. Jika ini berlaku kepada anda, anda boleh menggunakan nasihat yang diberikan di sini. RAM yang dipasang tidak muncul pada Windows 11 Jika RAM yang dipasang tidak muncul pada PC Windows 11/10 anda, cadangan berikut akan membantu anda. Adakah memori yang dipasang serasi dengan papan induk komputer anda? dalam BIO

See all articles