Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обращение к объекты не на прямую а через ссылку (https://javascript.ru/forum/misc/14765-obrashhenie-k-obekty-ne-na-pryamuyu-cherez-ssylku.html)

format1981 29.01.2011 23:31

Обращение к объекты не на прямую а через ссылку
 
есть несколько объектов одного "класса"

inputs = function(row, yon, week, day1, day2, day3, day4, day5, day6, day7){ ....  } // класс


var abouthe_inp_1 = new inputs(1,1,7,1,2);
var abouthe_inp_2 = new inputs(2,1,10,12,11,7,4);
var abouthe_inp_3 = new inputs(3,0);
var abouthe_inp_4 = new inputs(4,1);


Вопрос: есть ли возможность обращаться произвольно к любому (нужному в данный момент) объекту имея его (объекта) имя в переменной?

например:
var nujniy_object = 'abouthe_inp_'+1;

with-love-from-siberia 30.01.2011 00:00

Можно, если объект существует в глобальной области видимости - то есть вне любых функций
Код:

var result = window['aboutbe_inp_1]].method();
Нельзя, если объект создан и существует в локальной области видимости - то есть создан и существует локально - только внутри некоторой функции без передачи ссылки "наружу".

Aetae 30.01.2011 00:35

Ну всегда есть старый добрый eval(), но почему таки не использовать обычные массивы как это делают все адекватные люди?

format1981 30.01.2011 00:53

А по подробнее можно?
про eval() и массивы

PeaceCoder 30.01.2011 00:58

var abouthe_inp = [new inputs(1,1,7,1,2),
  new inputs(2,1,10,12,11,7,4),
  new inputs(3,0);
  new inputs(4,1)];
absoluthe_inp_1 = absoluthe_inp[0];

format1981 30.01.2011 01:00

Огромное спасибо
Надеюсь я тоже стану когда-нибудь адекватным


Часовой пояс GMT +3, время: 16:07.