巧は局部変数を使ってjavascriptの性能を高めます。


javascriptの中の識別子の位置が深いほど、その読み書き速度も遅くなります。したがって、関数における読み書きの局所変数は常に最速であり、読み書きの大域変数は通常最も遅い。良い経験則は、関数に一度以上引用された場合、作用領域にまたがる値を局所変数に格納することです。例えば、
 
<!-- -->
<script type="text/javascript">
function initUI () {
var bd = document.body,
links = document.getElementByTagName("a"),
i=0,
len=links.length;
while(i < len){
update(links[i++]);
}

document.getElementById("go-btn").onclick = function(){
start();
}

bd.className = "active";
}
</script>
は、この関数は3回のdocumentを引用し、documentはグローバルオブジェクトである。この変数を検索するプロセスは、最後にグローバル変数オブジェクトで見つかるまで、スコープ全体を巡回しなければなりません。まずグローバル変数の参照を一部の変数に格納し、この局所変数をグローバル変数に置き換えるために、以下の方法で性能に対する影響を低減できます。
 
<!-- -->
<script type="text/javascript">
function initUI () {
var doc=document,
bd = doc.body,
links = doc.getElementByTagName("a"),
i=0,
len=links.length;
while(i < len){
update(links[i++]);
}

doc.getElementById("go-btn").onclick = function(){
start();
}

bd.className = "active";
}
</script>