I am trying to achieve 2 levels of inheritance in javascript without any framework.
**Class --> Model --> ListModel**
ideally code should look like this
var Class = function(){}
var Model = new Class;
var ListModel = new Model;
after implementation I could come with following solution which smells badly.
var Class = function(){
klass = function(){};
klass.extend = function(){ console.log("extend")}
klass.prototype.include = function(){ console.log("include") };
return klass
}
var Model = function(parent){
var model = function(){
}
if(parent){
for(var i in parent){
model[i] = parent[i];
}
for(var i in parent.prototype){
model.prototype[i] = parent.prototype[i];
}
}
model.record = [1,2];
model.prototype.generateId = function(){ console.log("genrate ID")};
return model
}
var ListModel = function(parent){
if(parent){
for(var i in parent){
ListModel[i] = parent[i];
}
for(var i in parent.prototype){
ListModel.prototype[i] = parent.prototype[i];
}
}
}
var class = new Class()
var model = new Model(class)
var l = new ListModel(model)
can someone help me to do it in a better way.