我正在尝试使用一组对象创建一个对象。例如:我想创建一个具有多个标题的 Page 对象。我需要一个 addHeader() 和 getHeaders() 方法。标头本身是一个具有很少属性(例如名称和 ID)的对象。我一直在尝试将它作为其一部分嵌套在页面对象中,并将其添加到标题数组中(我认为这将是页面的一部分,但这可能不是理想的解决方案)。当我尝试执行内部函数时遇到了麻烦。我读了这个问题和几个类似的话题,不幸的是我想不出一个解决方案:
我最新的尝试:
var Page = ( function () {
function Page() {
var headers = [];
var header = {
name:'',
id:'',
addHeader : function(name,id) {
this.name = name;
this.id = id;
Page.headers.push(header);
}
};
this.getHeaders = function() {
for(var i=0; i< Page.headers.length; i++) {
console.log(Page.headers[i]);
}
}
}
return Page;
}) ();
当我尝试运行 getHeaders 时:
var p = new Page(); p.getHeaders();
我得到:
p.getHeaders is not a function
我的 javascript 技能相当基本,我将不胜感激任何帮助或意见。谢谢您的回答。
有人可以向我解释如何访问内部 addHeader 函数吗?这是在 javascript 对象中嵌套函数的正确方法吗?