我试图用对象和从这些对象继承的对象来实现一些嵌套的命名空间。 我想知道,如果这第一种方法是很好的落实:这个嵌套的命名空间继承模式很好地实现吗?
// Namespaces
var firstDomain = {};
firstDomain.firstSubDomain = {};
firstDomain.firstSubDomain.secondSubDomain = {}
/*
* Base Object
*/
firstDomain.firstSubDomain.secondSubDomain.baseObject = (function(baseObject) {
baseObject.init = function() {};
return {
init: baseObject.init
}
})(firstDomain.firstSubDomain.secondSubDomain.baseObject || (firstDomain.firstSubDomain.secondSubDomain.baseObject = {}));
/*
* Extended Object
*/
firstDomain.firstSubDomain.secondSubDomain.extendedObject = (function(extendedObject) {
extendedObject.init = function() {};
extendedObject.init.prototype = Object.create(firstDomain.firstSubDomain.secondSubDomain.baseObject.init.prototype);
extendedObject.init.prototype.extraFunction = function() {};
return {
init: extendedObject.init
}
})(firstDomain.firstSubDomain.secondSubDomain.extendedObject || (firstDomain.firstSubDomain.secondSubDomain.extendedObject = {}))
// Objects instances
// Base object instance
var baseObject = new firstDomain.firstSubDomain.secondSubDomain.baseObject.init();
// Extended object instance and executing particular method
var extendedObject = new firstDomain.firstSubDomain.secondSubDomain.extendedObject.init();
extendedObject.extraFunction();
console.log(firstDomain);
这里是回购链接:
*很好的实施*在什么意义上? – Liam
Hi @Liam,谢谢你的回答。我正试图找到实现名称空间对象继承的最佳方式。你知道任何链接或教程,我可以找到这方面的东西吗?我搜索了它,但我没有找到这个实现。 点是得到这样的:新firstDomain.firstSubDomain.SecondSubdomain.baseObject() – Termosfera
[试试这个(https://developer.mozilla.org/en/docs/Web/JavaScript/Inheritance_and_the_prototype_chain) – Liam