仍然有点 JS 新手,我试图了解使用原型和继承的最佳/最干净的方式。
通常我写这样的对象/原型定义:
var Foo = function(data) {
this.data = data;
};
Foo.prototype = {
someMethod: function() {
return "whatever";
}
};
我喜欢这个,因为我经常使用几层深的命名空间对象,所以它实际上可能看起来更像这样:
App.Model.FooModel = function(){...};
App.Model.FooModel.prototype = {...};
这很好,因为我不必输入每个方法的全名来编写原型,只需输入名称即可。someMethod: function(){}
而不是App.Model.FooModel.prototype.someMethod = function(){}
.
现在,我遇到的问题是我不确定如何使用 JS 中的继承来做到这一点。如果我这样做,我可以让继承正常工作:
var Child = function(){...};
Child.prototype = new Parent;
Child.prototype.someMethod = function(){...};
...但是现在在一个更复杂的应用程序中,我们又回到为每个方法写出对象的全名,我觉得这既乏味又难以阅读。
所以,我的问题是:除了使用对象的全名附加所有子方法之外,是否有一种简洁、直接的方法来编写从另一个对象继承的原型?
谢谢!