@Robert_blk
JS-программист

Объясните, как работает прототипное наследование в этом случае?

Почему метод от функции работает на Array, Elements?
Function.prototype.method = function (name, func) {
if (!this.prototype[name]) {
  this.prototype[name] = func;
  return this;
}
}
Array.method('fillIncr', function(length, start) {
  start = start || 0;
  for (var i = 0; i < length; i++) {
    this.push(i + start)
}
})

Element.method('addClass', function(className) {
  var classes = this.className.split(' ');
  if (classes.indexOf(className) < 0) {
    classes.push(className);
    this.className =  classes.join(' ').trim();
  }
})

Element.method('removeClass', function() {
  var classes = this.className.split(' ');
  var index = classes.indexOf(className);
  if (index >= 0) {
    classes.splice(index, 1);
    this.className =  classes.join(' ').trim();
  }
})
  • Вопрос задан
  • 128 просмотров
Пригласить эксперта
Ответы на вопрос 1
f0rk
@f0rk
Конструктор Array - это экземпляр функции, потому и работает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы