Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Конвертация значения в переменную (https://javascript.ru/forum/misc/11177-konvertaciya-znacheniya-v-peremennuyu.html)

lancer 11.08.2010 19:28

Конвертация значения в переменную
 
Имею переменные
var color_arr = new Array();
lips_pomade_param = 7;
color_arr[lips_pomade_param]='<li>Раздел</li>';


Имею выражение 1, которое выдает undefined
n = "lips_pomade_param";
alert(color_arr[n]);


Имею выражение 2, которое выдает '<li>Раздел</li>'
alert(color_arr[lips_pomade_param]);


Почему в выражении 1 undefined алертиться я понимаю.
Потому что, вызываем color_arr["lips_pomade_param"], а не
color_arr[lips_pomade_param].

Получается значение n нужно отконвертировать в название переменной? Не представляю как, поэтому прошу поделиться соображениями.

Octane 11.08.2010 19:37

n = lips_pomade_param;

lancer 11.08.2010 23:31

Не пойдет.

n у меня получает стринговое значение "lips_pomade_param" и ни как иначе.

Sweet 12.08.2010 00:13

Цитата:

Сообщение от lancer
n у меня получает стринговое значение "lips_pomade_param" и ни как иначе.

Ну, конечно. Ты ж и присваиваешь ему "стринговое" значение.
var lips_pomade_param = 7, 
n1 = "lips_pomade_param",
n2 = lips_pomade_param

alert(typeof n1)
alert(typeof n2)

lancer 12.08.2010 00:20

Цитата:

Ты ж и присваиваешь ему "стринговое" значение.
Я и спрашиваю как это значение превратить в название переменной.

Sweet 12.08.2010 00:29

Кстати, почему везде памада, а тут вдруг карандаш?:)
color_arr[lips_*!*pencil*/!*_param]='<li>Раздел</li>';

Sweet 12.08.2010 00:32

Цитата:

Сообщение от lancer
Я и спрашиваю как это значение превратить в название переменной.

Пилять, кавычки убери!!!
var color_arr = new Array(); 
lips_pomade_param = 7; 
color_arr[lips_pomade_param]='<li>Раздел</li>';
n = lips_pomade_param; 
alert(color_arr[n]);

lancer 12.08.2010 00:34

Потому что карандашами тоже красим. Шучу). Помада там. Отредактировал вопрос.

lancer 12.08.2010 00:36

Неужели выход только один?

if (n == "lips_pomade_param")
   color_arr[lips_pomade_param] = some_param;
else if
if (n == "lips_pencil_param")
   color_arr[lips_pencil_param] = some_param;
else if etc..

lancer 12.08.2010 00:40

Цитата:

Пилять, кавычки убери!!!
Веди себя прилично. Кавычки я никакие убрать не могу. Переменная n получает значение в процессе работы скрипта,
а не в var. Я бы и не спрашивал иначе.


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