| 
 Круговые ссылки Вот пример кода: 
function UI(){
    
}
  
function SystemObject(){
  this.UI.parent = this;
}
SystemObject.prototype.UI = new UI();
var sysObject = new SystemObject;
Получается: sysObject.UI.parent.UI.parent.UI.parent.UI.parent... Не приведёт ли это к утечке памяти или к большому её засиранию? Достаточно ли удалить переменную, чтобы все ссылки убил сборщик мусора? И как можно подстраховаться, чтобы такого не происходило? | 
| 
 А тебе вообще зачем такой код? | 
| 
 Цитата: 
 
function UI(){
    
}
UI.prototype.method = function(){
  
}
  
function SystemObject(){
  this.UI.parent = this;
}
SystemObject.prototype.UI = new UI();
var sysObject = new SystemObject;
sysObject.UI.method();
При вызове метода method, this будет указывать на объект sysObject.UI, а мне нужно внутри метода получить sysObject. Обращаться напрямую sysObject нельзя. Например: new SystemObject().method(); Т.к. ссылки нет - обратиться напрямую невозможно, а надо. | 
| 
 
function UI(){
    
}
  
function SystemObject(){
  this.UI.parent = this;
}
SystemObject.prototype.UI = new UI();
var sysObject = new SystemObject;
Насколько я знаю при таком способе UI.parent хранит ссылку на родителя а не весь обьект. и как бы ты не извращался никакого захламления не будет. Ты же не callbackи делаешь когда меняешь звено цепочки. Это тоже самое что ты обращаешься в this в кажом методе. | 
| 
 Цитата: 
 
obj.property.method = function(){
  this // ссылка на obj.
}
Вот не знаю как правильно придумать... | 
| 
 Цитата: 
 
function SystemObject(){
    this.ui = new UI(this);
}
function UI(sObj) {
    this.sObj = sObj;
}
 
var sysObject = new SystemObject;
?таже циклическая ссылка получится: sysObject.ui.sObj.ui.sObj.ui… | 
| 
 Цитата: 
 Цитата: 
 | 
| 
 хм… если ты планируешь заводить несколько экземпляров SystemObject, то почему у тебя при каждом вызове конструктора перезаписывается ссылка parent, изменения для всех экземпляров же произойдут, так нужно?) | 
| 
 Цитата: 
 | 
| Часовой пояс GMT +3, время: 20:39. |