ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript 名前空間に関するいくつかの考え_JavaScript のヒント

JavaScript 名前空間に関するいくつかの考え_JavaScript のヒント

WBOY
リリース: 2016-05-16 16:45:30
オリジナル
1693 人が閲覧しました

最近リファクタリングをしているときに、名前空間の設定に出会い、知識を探し、専門家に相談し、自分の経験を書き留めました
ウィンドウが一流であることは誰もが知っていると思うので、ウィンドウについては書きません

1: トップレベルの

コードをコピーしますコードは次のとおりです。
var ns = ns {};

ご覧のとおり、実際には、そのようなオブジェクトが存在しないことが判明した場合、 new Object()自動的に作成されます。存在する場合、このオブジェクトは直接使用されるため、説明しません。
2: 2 番目のレベル。もちろん、トップレベル ns の下に 2 番目のレベル、つまり
ns.ModuleClass = {};

ご覧のとおり、もちろん ns の下にクラスが作成されます。 、クラス内でメソッドの作成を続けることもできます。つまり、これは次のとおりです:
コードをコピー コードは次のとおりです。
ns.ModuleClass.method1= function() {/ ///};

3: この com.qw のようなマルチレベル を実行する方法。ビュー、名前空間として設定したい、これにはそれぞれが必要です。名前空間を個別に設定するためにドット区切りの名前が使用され、オブジェクト
に設定されます。ウィンドウ:


コードをコピー コードは次のとおりです。
function namespace(sSpace) ) {
var arr = sSpace.split('.'),i = 0,nameI ;
var root = window;
for (; nameI = arr[i ];) {
if (!root[nameI]) {
root[nameI] = {};
}
root = root[nameI];
}
return root;
}

これはまさに上で述べたアイデアであることがわかります。トラバーサルを使用して、分離されたすべてのオブジェクトをオブジェクトとして設定し、分離された各オブジェクトを独立して使用できるようにします。



4: よく使用される と、名前空間を簡単かつ迅速に設定するためのヒントをリストします

コードをコピー コードは次のとおりです。
if (!window.ns) {
window.ns = {};
}
var ns; if( typeof ns == "未定義"){
ns = {};
}
if(typeof ns.ClassName == "未定義"){
ns.ClassName = {};
}


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート