как узнать свойство объекта-родителя
К примеру есть:
var Obj = { svoystvo1:123456, svoystvo2:{ metod1: function(){/*как тут узнать svoystvo1?*/} } } Как узнать в закомментированном месте svoystvo1? |
for(var key in Obj) { if(Obj[key] === this) return key; } |
Не, не в ту степь. Может как то не понятно написал.
Вот внутри Obj, я могу его достать как this.svoystvo1, а вот как достать это свойство в дочернем объекте? Терез this уже не как, так как там this уже svoystvo2, а не Obj. Есть ли просто способ достать его типа: this.this.svoystvo2 (понимаю что это фигня, это просто пример для понимания)? |
Сделал кривой вариант, но от работает:
var Obj = { svoystvo1:123456, svoystvo2:{ obj:this, metod1: function(){alert(this.obj.svoystvo1);} } } Но как то это коряво выглядит. Есть какое то специальное слово типа this? |
vanoha
Цитата:
У меня что-то не очень:-E Вот так - работает, но не делает то, что вы хотите var Obj = { svoystvo1:123456, svoystvo2:{ obj:this, metod1: function(){alert('Metod1');} } } Obj.svoystvo2.metod1(); Вот так - делает то, что вы хотите, но не работает var Obj = { svoystvo1:123456, svoystvo2:{ obj:this, metod1: function(){alert(this.obj.svoystvo1);} } } Obj.svoystvo2.metod1(); |
Часовой пояс GMT +3, время: 22:21. |