■名前空間について
名前空間とは
名前空間はソースコード上で冗長な命名規則を用いなくても名前の衝突が起こらないようにし、しかもそれを容易に記述できるようにするためだけの概念
簡単に書くと
例えばaction();という関数を使うとして、もうひとつ全く別のaction();という関数を作ると動作しなくなる。別の名前にすれば良いのだがソースが数千行にもなり、他人が書いたとしたら関数名を決めるだけで毎回全てのソースコードを調べなければいけない。名前空間があれば衝突を回避できる。
■JavaScriptの名前空間とは
C#やPerlなどは言語仕様として名前空間があるが、JavaScriptには無いのでJSON記法を利用し、
var nameSpace = { name : "JustOnePlanet", display : function(){ alert(nameSpace.name); } }
というように記載する
■IE特有のエラー
display : function(){ alert(nameSpace.name); }
を
display : function(){ alert(nameSpace.name); },
と誤ってカンマを書いてしまうとIEのみでエラーがでます。結局ミスタイプしただけですが、Firefoxだと問題なく動作します。(但し、カンマが無い方が正しい記述である)
■上記名前空間の使い方
- “JustOnePlanet”にアクセスするにはnameSpace.nameと書く
- nameSpace.display();と記述する事により関数を実行できる
display();と記述しても関数にはアクセスできない。これが名前空間の意義。