Javascriptの主要な実装によると、変数と関数のルックアップはその場で始まり、グローバルオブジェクトまで上向きにトラバースします。
ここで、より大きなOOPベースのフレームワークを構築していて、あちこちで安全性チェックを呼び出す必要があるとしましょう。そのように呼び出すのは正しくないようです: "xapp.utils.isValidString(var)。同じことが定数にも当てはまります。 、通常どこでも発生する列挙とフラグ。
これが答えに影響を与えるかどうかはよくわかりませんが、私たちはすべてDojoで行っており、そのlang.mixinメソッドについてはかなり認識しています。
ただし、コンストラクターまたはプロトタイプを使用して、明白で最小限の関数とオブジェクトのセットをターゲットオブジェクトのローカルスコープにミックスインするという考え方です。これは合法的な方法だと思いますか?
それでは、それらの準備されたオブジェクトをキャッシュして再利用するのはどうですか?どの種類のバッファを選択しますか?私には、それはリングバッファのように見えます。
私はまだJSの最適化を学んでおり、あなたの考えに満足しています!
参考までに、教祖によって説明されたスコープ管理に関するいくつかの一般的なヒント:http: //googlecode.blogspot.com.es/2009/06/nicholas-c-zakas-speed-up-your.html
更新:IEを完全に除外して、最新のデスクトップおよびモバイルブラウザーのみに焦点を当てる必要があります。また、Dojoのビルドチェーンに精通しており、プラットフォームごとに条件付きコンパイルが可能です(それが重要な場合)。