Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.11.2014, 16:01
Профессор
Отправить личное сообщение для SunYang Посмотреть профиль Найти все сообщения от SunYang
 
Регистрация: 22.02.2008
Сообщений: 189

объединение объектов
Помогите понять пожалуйста.
Есть два объекта:

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.

Подскажите, почему так происходит?
Ответить с цитированием
  #2 (permalink)  
Старый 10.11.2014, 16:14
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Здесь нет никакого объединения, здесь наследование, а object.keys выводит только собственные свойства.
Ответить с цитированием
  #3 (permalink)  
Старый 10.11.2014, 20:37
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от SunYang
console.log(o); выводит:
Animal { name2="Rabbit", name="Animal" x=20, y=10, m=1000, run=function() }
Ты где проверял? run и name не должно выводится. А в чем вопрос я толком не понял.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка JS объектов браузером по умолчанию estonets Общие вопросы Javascript 3 29.04.2014 17:08
Массив объектов doox911 Библиотеки/Тулкиты/Фреймворки 6 16.01.2014 22:36
Как найти точки соприкосновения двух объектов в RaphaelJS Fatalityap Библиотеки/Тулкиты/Фреймворки 3 03.08.2012 16:33
Массив объектов или объект объектов vladlen Общие вопросы Javascript 19 30.10.2010 03:10
Быстрый поиск объектов Shasoft Общие вопросы Javascript 7 30.07.2009 05:28