[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
这种写法在IE中100%内存泄漏
使用tryfinally很容易解决些问题
复制代码 代码如下:
functioncreateButton(){
varobj=document.createElement("button");
obj.innerHTML="点我!";
obj.onclick=function(){
//处理click事件
}
obj.onmouseover=function(){
//处理mouseover事件
}
try{
returnobj;
}finally{
obj=null;//这句话在return之后才执行,有效地解决了需在return后将obj置null的问题
}
}
一个函数或方法中,其实有很多地方都需要这种选返回值,最后执行某些事的
=====================================================================
附一:JavaScriptError(try/catch/finally)
Introduction
Likeotherprogramminglanguages,JavaScriptprovidesthepossibilitytomakeuseof
thetry/catch/finallyblock.Usuallywhenanerrorisencounteredthenthescriptstopsanddoesn't
continuewiththerestofthepage.Thetry/catch/finallyblockcanbeusedtocontinuethe
processingwiththerestofthepage.Youjusthavetoputthecodeinyourtryblockandwhen
anerrorinencounteredthere,thenitwillcallthecatchblock.Thefinallyblockiscalledalways
regardlessofanerroroccurredornot.Thefollowingexamplemakestheusageclear.
Example:
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]