JavaScript - Inheritance Question

I’m curious if anyone would, or does use something along the lines of extend2 for inheritance. Here’s a quick demo of how it works:

var extend2 = function(Child, Parent) {
	var p = Parent.prototype, c = Child.prototype, i;
	
	for (i in p) {
		c[i] = p[i];
	}
	
	c.uber = p;
};

// A Constructor
var A = function() {
	this.name = "A";
	this.holler = "A";
	this.foo.constr = this;
};
// Augment
A.prototype.foo = {
	init: function() {
		// Empty for now
	},
	ok: "A ok"
};

// B Constructor
var B = function() {
	this.name = "B";
	this.holler = "B";
	this.foo.constr = this;
};
// Inheritance
extend2(B, A);
// Augment
B.prototype.foo = {
	init: function() {
		// Empty for now
	},
	ok: "B ok"
};

// C Constructor
var C = function() {
	this.name = "C";
	this.holler = "C";
	this.foo.constr = this;
};
// Inheritance
extend2(C, B);
// Augment
C.prototype.foo = {
	init: function() {
		var constr = this.constr;
		
		console.log(constr.uber.uber.foo.ok);
	},
	ok: "C ok"
};

// Invoke
var fooA = new A();
fooA.foo.init();

var fooB = new B();
fooB.foo.init();

var fooC = new C();
fooC.foo.init();

If the mentioned approach is problematic, or another approach is more looked upon - let me know, thanks.

Yes, it’s Object.create() in newer versions of JavaScript.

Thanks Paul!

I looked further into that:
http://ejohn.org/blog/ecmascript-5-objects-and-properties/
http://stackoverflow.com/questions/2709612/using-object-create-instead-of-new