私は、宣言する変数が少ないほど、私はより良い状態にあるとほとんど考えてきました。Julien Lecomte のプレゼンテーション ノートを調べたところ、ルックアップのオーバーヘッドを減らすためにローカル変数を宣言していることがわかりました。
var arr = ...;
var globalVar = 0;
(function () {
var i;
for (i = 0; i < arr.length; i++) {
localVar++;
}
})();
/* vs */
var arr = ...;
var globalVar = 0;
(function () {
var i, l , localVar;
l = arr.length;
localVar = globalVar;
for (i = 0; i < l; i++) {
localVar++;
}
globalVar = localVar;
})();
/* (faster on all A-grade browsers) */
編集:最新のすべてのデスクトップおよびモバイルブラウザーで実行する JavaScript ベースの webapp/-site を設計する場合、ルックアップのコストのためにローカルスコープで変数ルックアップを常にキャッシュすることを好む場合がありますか? (たとえば、割り当てられたオブジェクトに複数回アクセスしmyArray[100][20][40][90]
たり、現在のスコープの多くのレベルにあるオブジェクトのいくつかのプロパティを変更したりすると、何千ものループが発生しますか?)
それとも、ローカル キャッシュ変数を省略して文字スペースとメモリを節約したほうがよいので、ルックアップ時間があまりにも短いのでしょうか。