2012-02-25 15 views
2

1つの名前空間のみを使用することに関連したパフォーマンス上の問題があるのか​​、複数のものを割り当てるのが良いかどうかは疑問でした。これにより複数のjavascript名前空間?

私は

(function (myApp, $, undefined) { 

} (window.myApp = window.myApp || {}, jQuery)); 

そして割り当てる意味myApp名前空間にするか、などの一般的な機能のためのmyAppを持っているし、その後

を持っているパフォーマンスの観点から、よりefficentであるかどうか、すべての機能/オブジェクト/プロパティ
(function (myAppSettings, $, undefined) { 

} (window.myAppSettings = window.myAppSettings || {}, jQuery)); 

など?

編集:@pimvdbごとmyAppSettingsに非常に正確なコメントを総称settingsを明確にする

+0

あなたの質問には意味がありません。もう少し明確にすることができます – Sarfraz

+0

Hey thanks :)つまり、100以上の関数をmyApp名前空間に割り当てるのにパフォーマンス上の問題はありますか?はいの場合は、単に複数の異なる名前空間を使用する方が良いでしょうか? 'myApp'や' settings'などなど、それぞれに関数を割り当てていますか? – Andy

+0

ハッシュテーブル内の100項目は何もありません。 –

答えて

1

一般に、浅いツリーは深いツリーよりも優れています(引用from here)。したがって、状況に応じて、は複数の名前空間を使用する方がよいでしょう。引用された記事では、単一の名前空間は性能に関して無視できると主張している。

+0

ちょっと:)ありがとう - リンクが壊れていますか?本当にあなたがそれを修正することができますこれに少し読んで興味がありますか? – Andy

+0

リンクを修正;) – KooiInc

+0

すばらしいリンク。おかげさまでヒープ - 一般的に今はOKだと思われます。私は 'YAHOO'ではないので、私のツリーは自分のものと同じくらい複雑だとは思わない!最後の段落は私の質問に答えた:) – Andy

0

私は、パフォーマンスの観点から、いずれかの違いがあるとは思いません。今日の実装ではオブジェクトのプロパティis O(1)を取得しています。

しかし、settingsのような名前はとても一般的なので、別のライブラリのsettingsと衝突させない方がよいでしょう。これらの設定はmyAppの一部であるため、myAppオブジェクトに入れるのが最も理にかなっています(最も安全です)。

すべてのライブラリがwindow.settingsに設定されている場合、大きな問題になります。

+0

ああ、ちょっと、チップのおかげです。一般的に、私は 'myAppSettings'のような派生物を使用しようとしていました – Andy

関連する問題