Вход

Просмотр полной версии : Обращение к объекты не на прямую а через ссылку


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
Огромное спасибо
Надеюсь я тоже стану когда-нибудь адекватным