PDA

Просмотр полной версии : дурацкий вопрос про eval() и/или this[]


Double
22.05.2003, 10:07
что-то я никак не могу понять, есть a[N].cF, где N - номер по порядку, а F - какой-нить флаг. есть цикл в котором какой-нить фигне присваивается значение этого самого a[N].cF, т.е. должно присваиваться, только конструкция
myVar = eval("a[" + i + "].c" + myFlag);
(ну или то же самое с this[]) не фунциклирует :((( Хорошо, положим, что эвалуэйтить такие конструкции нельзя в принципе, тогда как сделать, учитывая, что диапазон изменения N задаётся динамически?..

Useless
22.05.2003, 13:29
myVar = a[i]["c"+myFlag]...если я правильно понял, что тебе нужно.

Double
22.05.2003, 13:38
Useless, спасибо.
Всё же непросто понять логику этого языка после ограниченной четвёрки. Поначалу я решил, что это прям уже почти что дельфи. Нифигушечки! Всё очень неоднозначно...

Useless
22.05.2003, 13:49
Если учесть, что следующие три записи означают одно и то же:v = obj.prop;
v = obj["prop"];
v = obj["pr"+"op"];, то многое сразу становится ясно...

Double
22.05.2003, 14:03
а с _root такая фенечка пройдёт? т.е.
_root.myVar
_root["myVar"]
идеентичны?

Nox Noctis
22.05.2003, 15:38
myVar = eval("a[" + i + "].c" + myFlag); а евал у тебя не работал потому что ты его как regExp пытался использовать :)

евал - это просто подстановка вместо строки-имени значения того, что этим именем названо...
(более того, если посмотреть байткоды - то евал - это даже не функция... это макрос :) и все eval'нутые выражения уже при компиляции заменяются)