Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.11.2010, 03:11
Новичок на форуме
Отправить личное сообщение для folibis Посмотреть профиль Найти все сообщения от folibis
 
Регистрация: 22.11.2010
Сообщений: 1

Ссылка на себя при инициализации объекта
Создаю объект таким образом:

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.
Ответить с цитированием
  #2 (permalink)  
Старый 22.11.2010, 03:26
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от folibis
Self вообще Undefined.
при чем тут он?
с чего вы решили, что это вам как-то поможет?!
Сообщение от folibis
чтоб этого не допускать я хотел бы сделать так чтоб они ссылались на соответствующие свойства,
при такой литеральной записи, это невозможно
в таком виде задачу решить можно только идя на компромисс.
например два способа:
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 не стоит эмулировать классы или статические переменные
но он и без них хорошо применяем
Ответить с цитированием
  #3 (permalink)  
Старый 22.11.2010, 11:48
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Gvozd
например два способа:
Первый способ нерабочий.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ссылка при наведении Golovastik (X)HTML/CSS 3 17.10.2010 18:24
Как при чтении или записи свойства объекта вызывать функцию danik.js Общие вопросы Javascript 3 16.09.2010 17:57
Подскажите по CSS меню Александр_1988 Элементы интерфейса 1 17.05.2010 11:58
Проблема при инициализации событий sms9 Events/DOM/Window 2 21.01.2010 22:14
Теряется event при перемещении объекта (Drag&Drop) seagor Events/DOM/Window 16 25.07.2007 01:28