Показать сообщение отдельно
  #10 (permalink)  
Старый 16.05.2015, 00:45
Интересующийся
Отправить личное сообщение для sexbot Посмотреть профиль Найти все сообщения от sexbot
 
Регистрация: 09.05.2015
Сообщений: 27

function extend(target, source) {
  var names = Object.getOwnPropertyNames(source)
    , length = names.length;

  for (var i = 0; i < length; ++i) {
    var desc = Object.getOwnPropertyDescriptor(source, names[i]);
    Object.defineProperty(target, names[i], desc);
  }

  return target;
}

function inherit(Child, Parent) {
  var proto = Object.create(Parent.prototype);
  proto.constructor = Child;
  proto.parent = Parent.prototype;
  extend(proto, Child.prototype);
  Child.prototype = proto; 
}

function Animal(name, sound) {
  this.name = name;
  this.sound = sound;
}

Animal.prototype.say = function() {
  console.log("%s says %s", this.name, this.sound);
};

function Cat() {
  this.parent.constructor.call(this, "cat", "meow");
}

Cat.prototype.lick = function(what) {
  console.log("%s licking his %s", this.name, what);
};

inherit(Cat, Animal);

var cat = new Cat;
cat.say();
cat.lick("balls");
Ответить с цитированием