識別子が JavaScript 内に深く配置されるほど、読み取りと書き込みが遅くなります。したがって、関数内のローカル変数の読み取りと書き込みは常に最速ですが、グローバル変数の読み取りと書き込みは通常最も遅くなります。経験則として、クロススコープ値が関数内で複数回参照される場合は、それをローカル変数に格納します。
例:
この関数はドキュメントを 3 回参照し、ドキュメントはグローバル オブジェクトです。この変数を検索するプロセスでは、グローバル変数オブジェクトで最終的に見つかるまで、スコープ チェーン全体をたどる必要があります。最初にグローバル変数への参照をローカル変数に保存し、次にグローバル変数の代わりにこのローカル変数を使用することで、パフォーマンスへの影響を軽減できます。
例: