JavaScriptプログラムに関連する最適化の問題
これらは、私がコードを書くときのいくつかをまとめたものです。 順序はありません。
1. グローバル変数を使用しないようにします。 function test(){
var s = document.getElementById('aaa');
s.innerHTML = document.body.clientHeight;
s = d.getElementById('aaa');
s.innerHTML = d.body. clientHeight;
}
ローカル変数の利点は、スコープ チェーンの検索が軽減されることです
参照が 2 つある場合はローカル変数を使用することをお勧めします
2. (地球のこの推定値は誰もが知っています) との使用は避けてください
理由は理解していますwith は独自のスコープを作成するため、元のスコープ チェーンが長くなり、with ブロック内で実行されるコードが遅くなります。コードを書く手間が省けるように見えますが、実際には逆にアクセスが長くなり、煩雑になります。 ClientHeight = '200px';
function test(){ var ds = document.body; ds.cli と書くことができます。 entWidth = '200px'
var as = document.getElementsByTagName('div');
for(var i=0,l
for( var i=0,ci;ci=as[i++ ];){}nodeList が完了すると false となり終了します
利点: 長さの計算が不要、ループ内での代入が不要、コードが少なく、i++ が判定に含まれます
(注意:这个方式用在nodelist里可、配列に使用した場合、問題が発生する可能性があります、数グループに 0 後者ヌル何の就瞎了)
4.别用那么多个var、カンマを追加するだけで完了です
var a =1;
var b = 1;
var c =1;
b=1,
c=1;
5.innerHTML が最適です
要素には innerHTML を使用するのが最善です
6.ieのremoveChildは使いにくいです
一般的に要素を削除するときはelm.removeChild(subElm)を使います
これはIEにありますIEではDOMツリーから要素を切断するだけなので使いにくいですですが、実際には削除されません。
本当に削除したい場合は、次のようにすることができます。
div.appendChild(subElm);
div.innerHTML = '';
div = null;
この方法では、ie を除き、removeChild を使用して効果を実現できます
7。イベントを複数の兄弟要素にバインドする必要はありません。各要素のイベントをすべてバインドし、親にバインドするだけです
例:
;/li>