Что ж, если эти функции не зависят от переменных, специфичных для новых инициализированных объектов, то вы можете просто превратить эти функции в общедоступные статические
var AnotherClass = (function(){
// this is a public static method
this.complexTask = function(){ alert('I am too complex for my shirt'); }
return function(){
// initialization-dependent-stuff
}
})();
var SelectBoxes = (function(){
return function(){
this.onChange = function(){
AnotherClass.complexTask();
}
}
});
, выполнив это, вы нене нужно ничего инициализировать, плюс вы можете использовать свои функции так, как вам хочется.
В качестве альтернативы, если вы не можете использовать общедоступные статические методы, вам следует рассмотреть возможность передачи экземпляра этого класса в качестве параметра,хотя вышеописанный метод предпочтительнее