объединение объектов
Помогите понять пожалуйста.
Есть два объекта: function Animal(name) { this.name = name; this.x = 10; this.y = 10; } function Rabbit(name){ this.name2 = name; this.x = 20; this.m = 1000; } var o1 = new Animal('n1'); var o2 = new Rabbit('n2'); Rabbit.prototype = Object.create(new Animal('Animal')); Rabbit.prototype.run = function(){ console.log(++this.x); } var o = new Rabbit('Rabbit'); console.log(o); console.log(Object.keys(o)); console.log(o); выводит: Animal { name2="Rabbit", name="Animal" x=20, y=10, m=1000, run=function() } Т.е свойства и методы обоих объектов, свойство x переопределилось. А вот Object.keys(o) выводит только свойства и методы объекта Rabbit. Подскажите, почему так происходит? |
Здесь нет никакого объединения, здесь наследование, а object.keys выводит только собственные свойства.
|
Цитата:
|
Часовой пояс GMT +3, время: 13:09. |