Показать сообщение отдельно
  #7 (permalink)  
Старый 15.05.2015, 21:44
Новичок на форуме
Посмотреть профиль Найти все сообщения от fuckJS
 
Регистрация: 15.05.2015
Сообщений: 8

Ваш код функционально примерно эквивалентен этому:
Animal={
 clone: function(name, sound){
  var o=Object.create(this)
  o.name=name; o.sound=sound
  return o
},
 say: function(){console.log(this.name+" says "+this.sound)}
}

Cat=Animal.clone("cat", "meow")
Dog=Animal.clone("dog", "woof")

Cat.say() //>>>> cat says meow
Dog.say() //>>>> dog says woof

Отсюда должно быть понятно, что он делает. Он создает новый объект, и ставит ему в прототип аргумент.
Ответить с цитированием