кажется разобрался, нужно передать контекст в колбэк, с помощью dind
(function(data){this.fn2(data)})
.bind(this)
function Test2() {
this.testnf1 = function (x, callback){
callback(x)
}
}
function Test(param1, param2, param3, obj) {
this.param1 = param1
this.param2 = param2
this.param3 = param3 || 4
this.obj = obj
this.fn1 = function() {
this.obj.testnf1(this.param3, (function(data){
this.fn2(data)
}).bind(this));
}
this.fn2 = function(x) {
console.log(x);
}
}
var test2 = new Test2();
var a = new Test(2, 3, 4, test2);
a.fn1();