Have you even looked at libraries like JS Class?
var Animal = new JS.Class({
initialize: function(name) {
this.name = name;
},
speak: function(things) {
return 'My name is ' + this.name + ' and I like ' + things;
}
});
var Dog = new JS.Class(Animal, {
speak: function(stuff) {
return this.callSuper().toUpperCase() + '!';
},
huntForBones: function(garden) {
// ...
}
});
Looks very neat and tidy, and even supports standard things like calling super methods, interfaces, hooks for meta programming, full reflection for it’s OO system, and being able to attach Ruby style blocks onto methods.
That’s really the point of JS, that you can build something like this.