1
我想創建一個Google Closure like結構,其中「classes」以「app.classes.someClass」方式存儲,以便將它們保留在一個名稱空間下。 另外我需要繼承,父類方法會知道它是當前的構造函數名稱,並根據當前(子類)類生成一個字符串。 我成功地完成了我想要的東西,但我不確定這是繼承如何工作的最佳解決方案。如何創建具有繼承功能的Google Closure結構
app.utils.inherits = function(childCtor, parentCtor)
{
/** @constructor */
function tempCtor() {};
tempCtor.prototype = parentCtor.prototype;
childCtor.superClass_ = parentCtor.prototype;
childCtor.prototype = new tempCtor();
/** @override */
childCtor.prototype.constructor = childCtor;
};
app.classes.pageController = function pageController() {};
app.classes.pageController.prototype.init = function() {};
app.classes.pageController.prototype.getTemplate = function()
{
var name = this.constructor.name;
name = name.replace('PageController', '');
return $('#page-template-'+name).html();
};
// REQUEST PAGE CONTROLLER
app.classes.requestPageController = function requestPageController()
{
app.classes.pageController.call(this);
};
app.utils.inherits(app.classes.requestPageController, app.classes.pageController);
app.classes.requestPageController.prototype.init = function()
{
var template = app.classes.pageController.prototype.getTemplate.call(this);
....
};