私はまったく新しいサイトをセットアップし、自分にとって意味のある方法で JavaScript を構成しています。これらのウィジェット/機能のメソッドをカプセル化するウィジェット/機能の「名前空間」とともに、サイトの名前空間を作成しました。サイト上の特定のページが特定の (パブリック) メソッドを呼び出してウィジェット/機能をインスタンス化できるように、各「名前空間」のスコープを設定しました。
これが私のJavaScript構造の例です:
var THESITE = THESITE || (function(){
navigation = function(){
var init = function(){
// do navigation stuff
}
return {
init : init
}
},
widgets = {
widget1 : (function(){
var newWidget = function(){
// do widget1 stuff
}
return {
newWidget : newWidget
}
})(),
widget2 : (function(){
var newWidget = function(){
// do widget2 stuff
}
return {
newWidget : newWidget
}
})(),
widget3 : (function(){
var newWidget = function(){
// do widget3 stuff
}
return {
newWidget : newWidget
}
})();
},
init = function(){
navigation.init();
}
return {
init: init,
navigation: navigation,
widgets: widgets,
}
})();
THESITE.init();
そして、これらのメソッドの 1 つがどのように呼び出されるかの例:
THESITE.widgets.widget3.newWidget();
私のjavascriptを実用的/一般的に構成するこの方法はありますか?