Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.06.2013, 18:57
Профессор
Отправить личное сообщение для Shitbox2 Посмотреть профиль Найти все сообщения от Shitbox2
 
Регистрация: 04.10.2010
Сообщений: 571

Почему оператор new создает один и тот же экземпляр?
A = new Obj
B = new Obj
Почему-то А и B ссылаются на один и тот же пустой объект (с заданным прототипом). Это нормально?

Последний раз редактировалось Shitbox2, 25.06.2013 в 19:02.
Ответить с цитированием
  #2 (permalink)  
Старый 25.06.2013, 19:05
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Shitbox2
Почему-то А и B ссылаются на один и тот же пустой объект
Ну где же один и тот же? Это два разных объекта.
function Obj() {}
Obj.prototype.x = 'x'

A = new Obj()
B = new Obj()

alert ( A == B )

A.y = 'y'

alert ( B.y )
Ответить с цитированием
  #3 (permalink)  
Старый 25.06.2013, 20:08
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Shitbox2
Почему-то А и B ссылаются на один и тот же пустой объект (с заданным прототипом). Это нормально?
нормально. Это прототипное наследование http://learn.javascript.ru/prototype Методы и свойства, общие для этих объектов, как правило, хранятся в прототипе, частное (свойства, методы) в экземплярах объектов.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #4 (permalink)  
Старый 25.06.2013, 20:27
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от nerv_
Методы и свойства, общие для этих объектов, как правило, хранятся в прототипе
А, он об этом..
Ну дык в этом и смысл прототипов. Объекта два, но прототип то - один
Ответить с цитированием
  #5 (permalink)  
Старый 25.06.2013, 20:30
Профессор
Отправить личное сообщение для Shitbox2 Посмотреть профиль Найти все сообщения от Shitbox2
 
Регистрация: 04.10.2010
Сообщений: 571

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



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему оператор ++ генерирует искючение, а не NaN в случае со строкой? dump Общие вопросы Javascript 23 16.07.2012 22:44
Почему моя карма стала -582 за один день Brook Сайт Javascript.ru 7 17.05.2012 11:37
Один и тот же ответ от разных запросов. nickgu AJAX и COMET 5 25.04.2012 23:27
Почему функция срабатывает один раз? Bogdan808 Javascript под браузер 4 06.09.2010 23:41