我想创建一个允许我拥有各种方法的 Javascript 类/对象:
模型类
Model.all()
» 静态方法Model.find()
» 静态方法Model delete()
» 实例方法Model save()
» 实例方法Model.create()
» 静态返回一个新的模型实例
对于静态方法,我可以使用以下方法定义它们:
Model.staticMethod(){ method }
而例如方法更好用:
function Model(){
this.instanceMethod = function(){}
}
然后创建一个新实例
或使用原型?
var m = function Model(){
}
m.prototype.method() = function() {
}
现在假设我要基于Model创建一个新类,如何不仅继承它的原型,还继承它的静态方法?
编辑:
为避免混淆,这或多或少是我想要创建的:
http://activejs.org/activerecord/index.html和http://activejs.org/activerecord/ActiveRecord/Model/index.html
我可以使用类似的东西定义一个新模型
var User = ActiveRecord.create({
username: '',
password: '',
post_count: 0,
profile: ''
}
然后创建一个实例
var jessica = User.create({
username: "Jessica",
password: "rabbit"
});
使用实例方法,例如
jessica.save();
还有类方法:
User.findByUsername('Jessica');