2011年05月05日

JavaScriptで名前空間2

二年前に、JavaScriptで名前空間という記事を書いたんですが、最近は名前空間の定義方法を変えています。

以前は、window.jp.zenbo というように、ドメイン毎にオブジェクトを用意していたのですが、同じ方法で名前空間定義する外部スクリプトと window.jp が競合しそうで怖いので(もしくはサイト側のJSが var jp, com と定義する確率がわずかにある)、window['jp.zenbo'] といった風に競合しないであろうグローバルな名前空間一つだけ用意するようにしています。

// 昔の定義方法
if (typeof window['jp'] === 'undefined') window['jp'] = {};
if (typeof window['jp']['zenbo'] === 'undefined') window['jp']['zenbo'] = {};

// 今の定義方法
if (typeof window['jp.zenbo'] === 'undefined') window['jp.zenbo'] = {};

window['jp.zenbo']以下は俺俺ルールで好きに使っておk。
名前空間は被らないようにするのが第一の目的なので、ドット付きの変数名ならまず大丈夫ではないでしょうか。
本当に大丈夫かどうか心配なので、何か問題あったら教えて下さい。
posted by 膳 at 12:46| Comment(0) | TrackBack(0) | JavaScript
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/44863172

この記事へのトラックバック