Обратиться к свойству или методу 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, время: 01:02. |