Страница 1 из 1
Доступ к элементам объекта
Добавлено: 19 мар 2015, 03:17
Oleg_Rus
Код: Выделить всё
var item = {
result: [[1,2,3],[4,5,6],[7,8,9]],
swap: {
transposing: function () {
function transposing_small($a, $b) {
arr = parent.this.result;
alert(arr);
}
transposing_small(0, 0);
}
}
}
1. Код говорит, что переменная arr не определена - undefined
2. если вызывать ф-ию transposing_small(this.result, 0, 0) - arr = undefined
В чем ошибка? Как я могу получить доступ к массиву result из ф-ии transposing_small?
Как получить доступ к родительскому объекту?
Re: Доступ к элементам объекта
Добавлено: 19 мар 2015, 09:00
somewhere
На момент вызова transposing_small вызов this вернет объект, который присвоен swap. То есть внутри объекта только функция.
А вот до item вообще не достучаться, поскольку swap содержит ссылку на уникальный экземпляр класса.
Это все равно что запись в дельфи:
Код: Выделить всё
SomeClass class
someField1 : integer;
someField2 : TSomeClass;
....
function TSomeClass.GetParentValue()
begin
end;
Очевидно, что из GetParentValue не достучаться до someField1, поскольку класс не наследуется, а просто существует в виде экземпляра в памяти, на который указана ссылка в каком то другом объекте/классе