Насколько корректно так делать внутренние объекты в javascript
Вопрос к почтенной публике, мне нужен внутренний объект, и сейчас я делаю так:
function FooList () {
this.id = 0;
this.list = {};
}
FooList.prototype = {
add: function () {
var item = new this.foo(this.id++, this);
this.list[item.id] = item;
return item;
},
get: function (id) {
return this.list[id];
},
foo: function (id, parent) {
this.id = id;
this.parent = parent;
}
};
FooList.prototype.foo.prototype = {
set: function (name) {
this.name = name;
},
get: function () {
return this.name;
}
};
// Test
var list = new FooList;
var foo = list.add();
foo.set("name");
console.log(foo);
Насколько это корректно (совместимо с разными броузерами)
Источник: Stack Overflow на русском