我正在建立一个全新的网站,并以一种对我来说似乎有意义的方式来构建我的 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();
以及如何调用这些方法之一的示例:
THESITE.widgets.widget3.newWidget();
这种构建我的javascript的方式实用/常见吗?