JavaScriptを高速化するコードの書き方

JavaScriptのことを調べていて勉強になったところがあったので、以下にメモをしておく。

 

for (var i = 0; i < a.length; i++) {
    ...
}

 上のコードは、下のようにするとパフォーマンスが大きく向上します。その理由は、「a.length」を最初の一度しか参照しないためです。JavaScriptのドット(.)演算子は、すでにご存じの通りハッシュテーブルの検索処理を伴いますので、かなりの処理コストを伴うためです。

for (var i = 0, n = a.length; i < n; i++) {
    ...
}

 

 

 


一昔前はよくJavascriptをheadタグのなかに記述している事が多かったと思いますが、最近ではbodyの閉じタグの直前に記述するのが主流です。(ただし、Google アナリティクスの計測用コードなどはhead内に記述したほうがより正確な計測が出来るといった事情もあるように、必ず・全てということではありません。) headタグ内への記述を推奨されない理由は、ブラウザの表示速度が低下してしまうからです。

たとえばheadの中に外部Javascriptの読み込みがあると、その時点でJavascriptの読み込み、実行がされてしまいます。その間ブラウザは表示に関する処理は止まってしまうので、ユーザーに取ってはその分表示されるのが遅く感じてしまいます。

 


以上