最近、私は物事を再構築し、名前空間設定に遭遇しました。私はいくつかの知識を探し、専門家に尋ね、私の経験を書き留めました。
誰もがウィンドウが一流であることを知っていると思うので、ここにウィンドウを書くことはありませんので、最初にそれを無視します
1:トップについて
コードコピーは次のとおりです。varns = ns || {};
そのようなオブジェクトがないことがわかった場合、新しいオブジェクト()を自動的に作成することがわかります。ある場合は、このオブジェクトを直接使用して、上書きされないようにします。
2:2番目のレベルでは、もちろん、トップレベルNSの下に2番目のレベルを作成することもできます。つまり、
コードコピーは次のとおりです。ns.ModuleClass= {};
クラスはNSの下で作成されていることがわかります。もちろん、クラスでメソッドを作成し続けることができます。つまり、これは次のとおりです。
コードコピーは次のとおりです。ns.moduleclass.method1= function(){////};
3:com.qw.viewなどのマルチレベルの実行方法。名前空間に設定したいです。これには、各点分離名の名前空間を設定し、オブジェクトに設定する必要があります。
例を見て、ウィンドウの下に設定しましょう。
コードコピーは次のとおりです。
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];
}
ルートを返します。
}
あなたはそれが本当に私が上で述べたことであることがわかります。私はトラバーサルを使用して、分離されたすべてをオブジェクトに設定し、それぞれの分離されたものを個別に使用できるようにしました。
4:名前空間を設定するための一般的に使用されるシンプルで迅速なヒントをリストします
コードコピーは次のとおりです。
if(!window.ns){
window.ns = {};
}
var ns;
if(typeof ns == "undefined"){
ns = {};
}
if(typeof ns.classname == "未定義"){
ns.classname = {};
}