]
これ書き方はIEで100%メモリリークです
tryfinallyを使用するといくつかの問題は簡単に解決できます
コードは次のとおりです。
function createButton(){
var obj = document.createElement("button");
obj.innerHTML="クリックしてください!" ;
obj.onclick=function(){
//クリック イベントを処理します
}
obj.onmouseover=function(){
//マウスオーバー イベントを処理します
}
try{
return obj;
}finally{
obj = null;//この文は return 後に実行され、return 後に obj を null に設定する問題を効果的に解決します。 }
関数やメソッドの中には、この種の戻り値の選択が必要な場所が実際に多くあり、最終的に何かを実行します
======= =========== ====================================== =========== ==
付録 1: JavaScript エラー (try/catch/finally)
はじめに
他のプログラミング言語と同様、JavaScript では try/catch/finally ブロック。通常、エラーが発生するとスクリプトは停止し、ページの残りの部分は続行されません。
try/catch/finally ブロックを使用して
を続行できます。ページの残りの部分を処理するには、try ブロックにコードを置くだけです。
そこでエラーが発生すると、
関係なく、finally ブロックが呼び出されます。エラーが発生したかどうかは、次の例で明確になります。
例: