var A2 = function(params){
this.f1 = params.f1;
this.f2 = params.f2;
}
A2.prototype.f3 = function(){ /* ... */ }
a1 = new (function(){
var context=this; // вся "магия" здесь
this.ff1=function(){
//this не использовать, используйте context из замыкания
},
this.ff2=function(){ }
// выполнить "тело" init прямо здесь или определить его как this.init=function...
})();