Ссылка на себя при инициализации объекта
Создаю объект таким образом:
var obj = {
1:{arr1:[1,2,3,4,5,6,7,8,9,0],arr2:[1,3,8],arr3:this.arr1},
3:{arr1:[1,2,3,4,5,6,7,8,9,0],arr2:[1,3,8],arr3:[2,6,7]},
8:{arr1:[1,2,3,4,5,6,7,8,9,0],arr2:[1,3,8],arr3:[8,4,5]}
};
1:{arr1:[1,2,3,4,5,6,7,8,9,0],arr2:[1,3,8],arr3:this.arr1}, Т.е. объект состоит из массива объектов. Эти внутренние объекты состоят их набора параметров. Так вот некоторые из этих параметров дублируются. чтоб этого не допускать я хотел бы сделать так чтоб они ссылались на соответствующие свойства, которые они дублируют. Как это сделать, не знаю. this в этом случае ссылается на Window. Self вообще Undefined. |
Цитата:
с чего вы решили, что это вам как-то поможет?! Цитата:
в таком виде задачу решить можно только идя на компромисс. например два способа:
var obj = {
1:{arr1:[1,2,3,4,5,6,7,8,9,0],arr2:[1,3,8],arr3:*!*obj[1].arr1*/!*},
3:{arr1:[1,2,3,4,5,6,7,8,9,0],arr2:[1,3,8],arr3:[2,6,7]},
8:{arr1:[1,2,3,4,5,6,7,8,9,0],arr2:[1,3,8],arr3:[8,4,5]}
};
var obj = {
1:{arr1:temp_var = [1,2,3,4,5,6,7,8,9,0],arr2:[1,3,8],arr3:temp_var},
3:{arr1:[1,2,3,4,5,6,7,8,9,0],arr2:[1,3,8],arr3:[2,6,7]},
8:{arr1:[1,2,3,4,5,6,7,8,9,0],arr2:[1,3,8],arr3:[8,4,5]}
};
но лучше будет, если вы скажите для чего вам это нужно. и тгда мы сможем подсказать КАК ПРАВИЛЬНО сделать скорее всего вы пытаетесь сделать то, что в данном языке делать не следует. например в JS не стоит эмулировать классы или статические переменные но он и без них хорошо применяем |
Цитата:
|
| Часовой пояс GMT +3, время: 10:46. |