Ссылка на себя при инициализации объекта
Создаю объект таким образом:
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, время: 08:53. |