Итак, я работаю над проектом, и я хочу иметь суперкласс класса, в котором хранятся методы и данные для нескольких страниц - страницы, имеющие свой собственный конструктор, который расширяет суперкласс сайта. В настоящее время у меня есть функция-конструктор, которая имеет собственные специальные методы для использования, которые используются на нескольких страницах. Что-то вроде этого:JavaScript-прототип суперкласса
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, но потом это может вызвать некоторые конфликты позже. Я также подумал о том, чтобы поместить их в простой объект, но тогда они не настолько эксклюзивны для самой функции, это больше похоже на кучу статических методов.
Я не считаю, что целесообразно разместить функцию-конструктор в классе сайта, не так ли? Может, я уже подумал об этом?
Считаете ли вы, что требуется JS? Может быть, излишний, если у вас есть только этот пример, но, на мой взгляд, это стоит усилий в целом. – lrnzcig