Добрый день!
Пытаюсь разобраться по прочтении статьи о наследовании (
http://javascript.ru/tutorial/object/inheritance). Как я понял, методы и свойства объявленные в прототипе класса становятся общие для всех объектов. И в статье даже приводится пример:
В него я добавил лишь одно дополнительное свойство something. Но почему-то в другом объекте оно осталось прежним. Получается, что свойство something создалось для каждого объекта.
function Hamster() { }
Hamster.prototype = {
food: [],
something: 'no',
found: function(something) {
this.food.push(something)
this.something = something;
}
}
speedy = new Hamster()
lazy = new Hamster()
speedy.found("apple")
speedy.found("orange")
alert(speedy.food.length) // 2
alert(lazy.food.length) // 2 (!??)
alert(speedy.something) // orange
alert(lazy.something) // no //почему no???
Просьба простить за глупый вопрос и наставить на путь истинный.
Заранее благодарен!