国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

IEJS編程需注意的內(nèi)存釋放問(wèn)題_javascript技巧

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 20:43:15
文檔

IEJS編程需注意的內(nèi)存釋放問(wèn)題_javascript技巧

IEJS編程需注意的內(nèi)存釋放問(wèn)題_javascript技巧:1、給DOM對(duì)象添加的屬性是一個(gè)對(duì)象的引用。范例:var MyObject = {};document.getElementById('myDiv').myProp = MyObject;解決方法:在window.onunload事件中寫(xiě)上: document.getElementById('myDiv').myProp =
推薦度:
導(dǎo)讀IEJS編程需注意的內(nèi)存釋放問(wèn)題_javascript技巧:1、給DOM對(duì)象添加的屬性是一個(gè)對(duì)象的引用。范例:var MyObject = {};document.getElementById('myDiv').myProp = MyObject;解決方法:在window.onunload事件中寫(xiě)上: document.getElementById('myDiv').myProp =

1、給DOM對(duì)象添加的屬性是一個(gè)對(duì)象的引用。范例:
var MyObject = {};
document.getElementById('myDiv').myProp = MyObject;
解決方法:
在window.onunload事件中寫(xiě)上: document.getElementById('myDiv').myProp = null;


2、DOM對(duì)象與JS對(duì)象相互引用。范例:
function Encapsulator(element) {
this.elementReference = element;
element.myProp = this;
}
new Encapsulator(document.getElementById('myDiv'));
解決方法:
在onunload事件中寫(xiě)上: document.getElementById('myDiv').myProp = null;


3、給DOM對(duì)象用attachEvent綁定事件。范例:
function doClick() {}
element.attachEvent("onclick", doClick);
解決方法:
在onunload事件中寫(xiě)上: element.detachEvent('onclick', doClick);


4、從外到內(nèi)執(zhí)行appendChild。這時(shí)即使調(diào)用removeChild也無(wú)法釋放。范例:
var parentDiv = document.createElement("div");
var childDiv = document.createElement("div");
document.body.appendChild(parentDiv);
parentDiv.appendChild(childDiv);
解決方法:
從內(nèi)到外執(zhí)行appendChild:
var parentDiv = document.createElement("div");
var childDiv = document.createElement("div");
parentDiv.appendChild(childDiv);
document.body.appendChild(parentDiv);


5、反復(fù)重寫(xiě)同一個(gè)屬性會(huì)造成內(nèi)存大量占用(但關(guān)閉IE后內(nèi)存會(huì)被釋放)。范例:
for(i = 0; i < 5000; i++) {
hostElement.text = "asdfasdfasdf";
}
這種方式相當(dāng)于定義了5000個(gè)屬性!
解決方法:
其實(shí)沒(méi)什么解決方法:P~~~就是編程的時(shí)候盡量避免出現(xiàn)這種情況咯~~


說(shuō)明:
1、以上資料均來(lái)源于微軟官方的MSDN站點(diǎn),鏈接地址:
http://msdn.microsoft.com/librar ... e_leak_patterns.asp
大家可以到上面這個(gè)地址中看到詳細(xì)的說(shuō)明,包括范例和圖例都有。只是我英文不太好,看不太懂,如果我上述有失誤或有需要補(bǔ)充的地方請(qǐng)大家指出。

2、對(duì)于第一條,事實(shí)上包括 element.onclick = funcRef 這種寫(xiě)法也算在其中,因?yàn)檫@也是一個(gè)對(duì)對(duì)象的引用。在頁(yè)面onunload時(shí)應(yīng)該釋放掉。

3、對(duì)于第三條,在MSDN的英文說(shuō)明中好像是說(shuō)即使調(diào)用detachEvent也無(wú)法釋放內(nèi)存,因?yàn)樵赼ttachEvent的時(shí)候就已經(jīng)造成內(nèi)存“LEAK”了,不過(guò)detachEvent后情況還是會(huì)好一點(diǎn)。不知道是不是這樣,請(qǐng)英文好的親能夠指出。

4、在實(shí)際編程中,這些內(nèi)存問(wèn)題的實(shí)際影響并不大,尤其是給客戶(hù)使用時(shí),客戶(hù)對(duì)此絕不會(huì)有察覺(jué),然而這些問(wèn)題對(duì)于程序員來(lái)說(shuō)卻始終是個(gè)心病 --- 有這樣的BUG心里總會(huì)覺(jué)得不舒服吧?能解決則給與解決,這樣是最好的。事實(shí)上我在webfx.eae.net這樣頂級(jí)的JS源碼站點(diǎn)中,在它們的源碼里都會(huì)看到采用上述解決方式進(jìn)行內(nèi)存的釋放管理。

研究 jsvm 的時(shí)候,發(fā)現(xiàn) js.lang.System 里面定義了 gc() 方法

System.gc = function ()
{
  if (System.isIeBrowser())
  {
    CollectGarbage();
    setTimeout("CollectGarbage();", 1);
  }
}

CollectGarbage() 是ie特有的一個(gè)釋放內(nèi)存函數(shù)

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

IEJS編程需注意的內(nèi)存釋放問(wèn)題_javascript技巧

IEJS編程需注意的內(nèi)存釋放問(wèn)題_javascript技巧:1、給DOM對(duì)象添加的屬性是一個(gè)對(duì)象的引用。范例:var MyObject = {};document.getElementById('myDiv').myProp = MyObject;解決方法:在window.onunload事件中寫(xiě)上: document.getElementById('myDiv').myProp =
推薦度:
標(biāo)簽: 內(nèi)存 IE js
  • 熱門(mén)焦點(diǎn)

最新推薦

猜你喜歡

熱門(mén)推薦

專(zhuān)題
Top
主站蜘蛛池模板: 91伊人国产| 全免费a级毛片免费看不卡 日本二区在线观看 | 亚洲一区二区三区精品视频 | 国产欧美日韩高清专区手机版 | 天天伊人| 国产一区 在线播放 | 国产v精品成人免费视频400条 | 日韩二区三区 | 最新国产网站 | 国产在线不卡 | 精品国产一区二区三区久久久蜜臀 | 香蕉视频免费在线 | 欧美 日韩 国产在线 | 中文字幕久久久久一区 | 成人免费大片a毛片 | 国产不卡的一区二区三区四区 | 国产精品第二页 | 欧美亚洲另类综合 | 综合伊人久久在一二三区 | 一区二区视频在线 | 亚洲欧洲免费 | 亚洲成a人一区二区三区 | 国产欧美日韩在线观看 | 美女一级毛片免费观看 | 亚洲视频欧洲视频 | 亚洲精品在线播放 | 亚洲精美视频 | 国产最新进精品视频 | 亚洲国产成人久久综合野外 | 欧美区国产区 | 欧美国产高清 | 福利一区二区 | 亚洲香蕉久久综合网 | 全网毛片免费 | 亚洲精品制服丝袜二区 | 精品久久亚洲一级α | 欧美日韩精品在线 | 日韩欧美一区在线观看 | 国产精品va一级二级三级 | 亚洲欧美日韩国产综合高清 | 欧美久久久久久久一区二区三区 |