Сообщение от melky
|
даёшь чистый и понятный код!
|
var foo = function(name) {
return {
A : function() {
return 1;
},
B : function() {
return 2;
}
}[name]();
}
alert(foo('A'));
Если нужна прямая зависимость между элементами компонента, то можно реализовать декоратор:
function Component() {
this.foo = function() {
return 1;
};
}
function A(obj) {
this.foo = function() {
return obj.foo() + 2;
};
}
function B(obj) {
this.foo = function() {
return obj.foo() + 3;
};
}
var obj = new A(new B(new Component()));
alert(obj.foo());