所以我正在开发一个项目,我希望有一个Site超类,它包含多个页面的方法和数据 - 这些页面有自己的构造函数,可以扩展Site超类。 目前我有一个构造函数,它有自己专用的方法,可以在多个页面上使用它。像这样:
function MyFeatureConstructor () {
// some shared data for this feature
};
MyFeatureConstructor.prototype.init = function (args) {
// initialize
}
MyFeatureConstructor.prototype.clickEvent = function (e) {...}
// other stuff specific to this feature
function SomePageConstructor () {
// shared data for this page
}
SomePageConstructor.prototype.init = function (args) {
// initialize
}
SomePageConstructor.prototype.clickEvent1 = function (e) {...}
// other stuff for this page
从那里我称呼他们
var a = new MyFeatureConstructor; // call this on the same page as SomePageConstructor
a.init(args)
var b = new SomePageConstructor;
b.init(args)
除了在其他页面中使用'MyFeatureConstructor'之外。 所以我不太确定如何将它从它自己的构造函数移动到Site类的一组方法。我想到只是采用方法并将它们放在Site超类的构造函数上,但之后可能会导致一些冲突。我还想过将它们放在一个普通的对象中,但是它们并不是对这个特性本身的独有,更像是一堆静态方法。
我觉得在Site类中放置构造函数是不合适的,是吗? 也许我在想这个?
答案 0 :(得分:1)
听起来这并不是必须完成继承。听起来你可以使用一个辅助对象,它包含你需要访问多个页面的一些函数。你可以这样做:
var myHelperFunctions = {
func1: function(){ your code here },
func2: function(){ some other code here};
}