久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

JavaScript內(nèi)存泄漏的情況

 逆天小強(qiáng) 2022-10-12 發(fā)布于福建

1,、意外的全局變量,。

JavaScript
function foo(arg) {
    bar = "this is a hidden global variable";}

2、閉包,。閉包可以維持函數(shù)內(nèi)局部變量,,使其得不到釋放,。

JavaScript
function bindEvent(){
  var obj=document.createElement('xxx')
  obj.onclick=function(){
    // Even if it is a empty function
  }}

上例定義事件回調(diào)時(shí),由于是函數(shù)內(nèi)定義函數(shù),,并且內(nèi)部函數(shù)--事件回調(diào)引用外部函數(shù),,形成了閉包。

3,、沒(méi)有清理的DOM元素引用,。

JavaScript
var elements = {
    button: document.getElementById('button'),
    image: document.getElementById('image'),
    text: document.getElementById('text')};function doStuff() {
    image.src = 'http://some.url/image';
    button.click();
    console.log(text.innerHTML);}function removeButton() {
    document.body.removeChild(document.getElementById('button'));
    // 此時(shí),仍舊存在一個(gè)全局的 #button 的引用
    // elements 字典,。button 元素仍舊在內(nèi)存中,,不能被 GC 回收。}

4,、被遺忘的計(jì)時(shí)器或回調(diào)函數(shù),。

JavaScript
var someResource = getData();setInterval(function() {
    var node = document.getElementById('Node');
    if(node) {
        // 處理 node 和 someResource
        node.innerHTML = JSON.stringify(someResource));
    }}, 1000);

以上就是JavaScript引發(fā)內(nèi)存泄漏的情況,希望對(duì)大家有所幫助,。

本文來(lái)自編程筆記:源碼下載

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多