Обратиться к свойству или методу parent из child
подскажите плиз, что надо сделать чтобы заработал этот код?
functin Parent() { this.child = new Child(); this.data = 10; }; function Child() { this.method = function () { alert(Parent.data) // получить доступ к свойству data родителя }; |
Методом тыка родил вот такой код, вобщем сделал через замыкание, оцените профи сгодится ли такая конструкция?
function Parent () { this.child = { self : this, name : 'child', fnChild : function () { this.self.fnParent.call(this); } }; this.name = 'parent'; this.fnParent = function () { alert(this.name); }; } |
Поясните что вы понимаете под parent и child Если parent - базовый класс, а child - производный (выражаясь терминами С++) то у одного parent может быть много разных child, да и ничего parent про child знать не обязан.
|
мне нужно из метода объекта, который определяется как свойство другого объекта, добраться до метода или свойства этого самого объекта. Я не силен в терминах, просто решил объяснить на примере дом, где один объект вложенный вдругой является его потомком.
|
function Parent() { this.child = new Child(); this.child.parent = this; // добавлено вот это this.data = 10; } function Child() { this.method = function () { alert(this.parent.data) // получить доступ к свойству data родителя } } var test = new Parent(); test.child.method(); // но!!! var falseParent = {}; falseParent.data = 25; falseParent.child = test.child; falseParent.child.method(); // все равно 10 |
круть...спасибо друг.
|
по сути это почти как у меня, только без замыкания?
|
Часовой пояс GMT +3, время: 04:41. |