Problem with using THREE.js as function object (class imitation)

Hello,
I am sorry for topis and primitive nomenclature. I don’t know what names these things have.
I don’t understand what in function(image, texture) I don’t have acces to one of texture variable defined above (this.texture, var texture)?

this.texture = new THREE.Texture();
var texture = new THREE.Texture();

var loader = new THREE.ImageLoader(manager);
loader.load(
  path,
  function(image, texture) {
	texture.image = image;
	texture.needsUpdate = true;
  }

In general I would like to create “class” like this:

var  MyObjloader = function () {
   this.init();
};

MyObjloader.prototype.init = function() { (...) };
MyObjloader.prototype.render = function() { (...) };
MyObjloader.prototype.loadObj = function() { (...) };
(...)

Is this possible that way?

Should I use variable which I want to have range range only inside one of instance of MyObjLoader by that way:
MyObjLoader.variableName;
Inside methods etc.?

Thanks,
A.

The onLoad() callback of THREE.ImageLoader does only have a single parameter (the loaded image). The correct usage looks like this which is essentially the code from TextureLoader:

var texture = new Texture();

var loader = new ImageLoader( this.manager );
loader.setCrossOrigin( this.crossOrigin );
loader.setPath( this.path );

loader.load( url, function ( image ) {

    texture.image = image;

    // more code...

} );