[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как в название переменной подставить переменную
inpost
Вопрос: Как в название переменной подставить переменную?
Вот код:
x1 = 'title';
x2 = '1';
var cost_title_1 = 100;

Вот теперь создать точно такую же переменную:

var cost_x1_x2 = 100; //вот смысл, который мне надо получить.




Спустя 7 минут, 54 секунды (30.01.2012 - 18:00) Игорь_Vasinsky написал(а):
походу ни как smile.gif

а для чего? ты же имена переменных при выводе всё равно не видишь...

Спустя 4 минуты, 21 секунда (30.01.2012 - 18:05) inpost написал(а):
да вот, думаю, что надо было с самого начала делать огромный объект. А переделывать уже поздно smile.gif
В пхп было бы проще:
$var['title'][1];

Спустя 48 секунд (30.01.2012 - 18:06) Игорь_Vasinsky написал(а):
а чем такая конструкция JS не устраивает? там кроме массивов ещё и объекты...

Спустя 42 минуты, 2 секунды (30.01.2012 - 18:48) sergeiss написал(а):
И я тоже не понял, какие проблемы...

Вот кусок из реально работающей страницы, которая создается на ПХП (потому что данные из БД выбираются каждый раз разные, АЯКС не используется), но потом работает в браузере:

<script language="javascript" type="text/javascript">
var neighb_arr=new Array();
neighb_arr[0]=new Array();
neighb_arr[0]['dir']='og';
neighb_arr[0]['lac']='2814';
neighb_arr[0]['cellid']='1101';
neighb_arr[0]['targetlac']='2814';
neighb_arr[0]['targetcellid']='30536';
neighb_arr[0]['bcch']='58';
neighb_arr[0]['bsic']='28';
.....

neighb_arr[33]=new Array();
neighb_arr[33]['dir']='inc';
neighb_arr[33]['lac']='2814';
neighb_arr[33]['cellid']='30536';
neighb_arr[33]['targetlac']='2814';
neighb_arr[33]['targetcellid']='1101';
....

//тут еще много чего
</script>

То ли массивы, то ли объекты... Не важно это. Главное, что работает исправно. Потом в функциях JS я могу обратиться к этим данным.

Спустя 23 минуты, 44 секунды (30.01.2012 - 19:11) inpost написал(а):
sergeiss
Так мне же не массив-объект создать надо :) А подставить.
Это как:
$var = 'lex';
$$var == $lex;

Спустя 48 минут, 7 секунд (30.01.2012 - 19:59) redreem написал(а):
попробуй объяснить зачем тебе нужно такое извращение?

Спустя 2 минуты, 22 секунды (30.01.2012 - 20:02) Игорь_Vasinsky написал(а):
да. чем массив или объект не подходит? по моему удобней манипулировать ключами элементов массива или объекта нежели такими манипуляциями с именами переменных.

Спустя 11 минут, 13 секунд (30.01.2012 - 20:13) Winston написал(а):
Насколько я понял, тебе нужны символические ссылки, только в JS?

Спустя 19 секунд (30.01.2012 - 20:13) sergeiss написал(а):
Держи, "студент"! ;)

<script language="javascript" type="text/javascript" >
var a='b';
var b='125';

alert( 'b='+b );
eval( a+'='+133 );
alert( 'b='+b );

</
script>


PS. Чуть дополнил код, для большей наглядности
var a='b';
var b='125';

alert( 'b='+b );
var c=a+'='+133;
alert ( 'c="'+c +'"' );
eval( c );
alert( 'b='+b );

Спустя 15 минут, 45 секунд (30.01.2012 - 20:29) bodja написал(а):
Цитата
попробуй объяснить зачем тебе нужно такое извращение?


Цитата
да. чем массив или объект не подходит? по моему удобней манипулировать ключами элементов массива или объекта нежели такими манипуляциями с именами переменных.


1 передача калбека или кода в качестве аргумента функции.
2 сборка\получение кода\переменных из строки или аякса и его выполнение.
3 п2+динамичекое изменение кода\переменных в ходе выполнения программы.
4 ну в качестве извращения ,спецом запутать код для разных целей + применять обусфакторы.
5 вам и себе голову поморочить ,ну т.д. :D

inpost
Ловите.

<script type="text/javascript">
var x='a=';
var y="'inpost'";
eval(x+y);
alert(a);
</
script>


ЗЫ опоздал :D :D :D

Спустя 8 минут, 38 секунд (30.01.2012 - 20:38) inpost написал(а):
спасибо!


_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.