Добавить методы в конструктор [дубликат]

192
30 июня 2017, 08:48

На данный вопрос уже ответили:

  • JSON.stringify даёт не те данные, что нужно 1 ответ
  • Как вставить(экранировать) переменную в место перед точкой JS 1 ответ

Добрый день, объясните пожалуйста почему я не могу создать метод 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;
});
Answer 1

Потому что синтаксис не правильный. Нужно использовать 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));

READ ALSO
Найти строки соответствующие шаблону YYYY/MM/DD HH:MM(:SS)

Найти строки соответствующие шаблону YYYY/MM/DD HH:MM(:SS)

Выбрать существующие даты между 1000 и 2012 годомСекунды могут быть опущены

174
Нужна помощь в решении задачи

Нужна помощь в решении задачи

Собственно выполняю задание на Codewars(Ссылка) и столкнулся с проблемой: что при тестировании кода, не всё хорошо

178
Почему не выполняется код на Developer Server

Почему не выполняется код на Developer Server

Всем привет! Есть код для оповещений он работает, все ок

167
Анимация движения картинки,когда по ней водят мышкой

Анимация движения картинки,когда по ней водят мышкой

Есть пример анимации https://themeislecom/demo/?theme=Parallax%20One Как создать такое "движение" картинки? Выяснил, что там используется transform-style:preserve-3d и несколько...

293