Javascriptコードでの名前空間の使用に関する注意を読んだ後、私が使用するアプローチを共有したいと思いました。 もちろん、それは私によって発明されたものではありませんが、おそらく誰かがそれについて知らないかもしれません。 このアプローチは、外部から見える関数とデータに加えて、名前空間にローカルで外部から見えないデータと関数を定義できるという点で、その記事で提案されたものとは異なります。
コードは次のとおりです。
アプリ=関数()
{
//公開データ
var FooMember = 3;
//パブリック関数
関数foo()
{
//プライベートデータを使用します
アラート(_FooMember);
//プライベート関数を呼び出します
_foo();
}
//プライベートデータ
var _FooMember = 4;
//プライベート関数
関数_foo()
{
}
return {
FooMember:FooMember、
foo:foo
}
}();
このコードの使用は明らかです。
アラート(App.FooMember);
App.foo();
名前空間について話しているため、Javascriptで列挙をシミュレートする手法についても説明します。 次のようなコードを書く代わりに:
var STORY_NEW = 1;
var STORY_UPDATE = 2;
var STORY_DELETE = 3;
..........
スイッチ(タグ)
{
ケースSTORY_NEW:...; 休憩;
case STORY_UPDATE:...; 休憩;
case STORY_DELETE:...; 休憩;
...
}
以下を書くことができます。
var StoryAction = {
新規:1、
更新:2、
削除:3
....
};
...
スイッチ(タグ)
{
case StoryAction.New:...; 休憩;
case StoryAction.Update:...; 休憩;
case StoryAction.Delete:...; 休憩;
...
}
これらの2つのトリックが誰かに役立つように願っています。