function obj(x){  
  output('obj, x: '+x);
};
new obj('Declaring usage of prototypes');
obj.prototype.variable = 'This is obj'; 	
  // sets the "virtual" class variable variable
			
obj.prototype.dump = function (){
  output( this.variable );	
// this.variable reads out the virtual variable 
//of the obj "class", "This is obj" / 
//"Hello again" in this case
};
function inherits(y){
  output('inherits, y: '+y);
};
inherits.prototype = new obj('Declaring inheritants of inherits');
inherits.prototype.dumpout = function(){
	this.dump();
};
var inherits1 = new inherits('Creating object');	
// This does not call the function obj,
// Therefore I wouldn't call the functions obj / inherits constructors
inherits1.dumpout();
function inherits_inherits(){
};
inherits_inherits.prototype = new inherits('Declaring inheritance of inherits_inherits');
inherits_inherits.prototype.dump = function (){ 
  output( 'inherits_inherits: dump called, value of variable: '+ this.variable );
};
var inherits2 = new inherits_inherits();
inherits2.dumpout();	
// inherits.dump will now call inherits_inherits.dump,
// as expected
So inheritance is quite similar to cpp, except:
- - Multiple inheritance isn't possible by default
- - The "virtual constructors" aren't callen every time you create a new instance
- - There is no public/protected/private concept
There are, however, technics possible to simulate a more cpp like behaviour.
It was possible to enter scripts yourself. Currently, I cannot figure out, how this worked.
Well. Nowadays every browser has it's own debugging engine included, so I leave it the way it is for now.