| 
 
	Цитата: 
	
		| А как в классическом ООП решается эта проблема?
 
 |  Обычно вложенный класс имеет доступ к членам внешнего класса. 
Например для ЯП Java (не Script) если это нестатические классы то можно наваять что-то в стиле такого:
 
public class MyObj {
	private String name = "abc";
	public class SubObj {
		private int x = 12345;
		void printName() {
			System.out.println(name);//спокойно обратимся к полю name внешнего класса.
		}
	}
}
Ну а использование такого как-то так будет:
 
MyObj.SubObj obj = new MyObj().new SubObj();
obj.printName();
 
Ладно, это конечно оффтоп :)  
Просто представление в JS объектов в виде массивов накладывает свои особенности, сразу непривычно |