На данный вопрос уже ответили:
Добрый день, объясните пожалуйста почему я не могу создать метод sum в конструкторе Constructor с помощью другого метода addMethod.
var Constructor = function () {
this.addMethod = function (name, func) {
this.name = func;
}
};
var obj = new Constructor;
obj.addMethod('sum', function (a, b) {
return a + b;
});
Потому что синтаксис не правильный. Нужно использовать this, и вычисляемые свойства для объекта оборачиваются в [] Правильно вот так:
var Constructor = function () {
this.addMethod = function(name, func) {
this[name] = func;
}
};
var obj = new Constructor;
obj.addMethod('sum', function (a, b) {
return a + b;
});
console.log(obj.sum(2,2));
Сборка персонального компьютера от Artline: умный выбор для современных пользователей