Я бы пошел с
var Library = (function()
{
function _selectBox()
{
// stuff
}
function _checkBox()
{
// stuff
}
function _radioButton()
{
// stuff
}
return {
SelectBox : _selectBox,
CheckBox : _checkBox,
RadioButton : _radioButton
};
})();
или
var Library = (function()
{
return {
SelectBox : function()
{
// stuff
},
CheckBox : function()
{
// stuff
},
RadioButton : function()
{
// stuff
}
};
})();
[Редактировать]
Таким образом, вы можете объявить «частные» переменные, которые могут быть доступны только изсама библиотека, просто объявляя var foo="bar";
внутри объявления Library
, создает переменную foo, к которой нельзя получить доступ извне, но к которой может получить доступ любой объект из библиотеки, поэтому функции, подобные _selectBox в моем примере, остаются закрытыми, но все еще может быть доступен через Library.SelectBox, который также будет "public getter"
[/ Edit]
, вместо
var Library = (function(){})();
вы можете сделать что-то вродеэто:
var Library = Library || {};
Library.UI = (function(){})();
таким образом, вы можете хранить отдельные части вашей библиотеки кодов, вы можете хранить их в отдельных файлах , которые не заботятся о порядке, в котором они находятсязагруженные, если они имеют
var Library = Library || {};
поверх них
, функции будут вызываться так:
Library.SelectBox();
или в выбранном вами случаеперейти с «подклассами»
Library.UI.SelectBox();