Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > Получить имя переменной как строку |
Автор: nerdy_weirdie 16.9.2010, 07:58 |
У меня появилась необходимость собрать большие объемы отладочных данных из javascript. Для этого удобнее всего собирать их в виде xml. Подскажите пожалуйста наиболее элегантный способ генерить этот хмl. Задача в том чтобы записывать туда некоторые наборы переменных. Например можно ли сделать функцию с переменным числом аргументов, чтобы параметрами были просто любые переменные в неопределенном количестве, и по ним автоматом генерился xml? var myvar1="Quick"; var myvar8="brown"; var myvar5="fox"; var mwvar3="jumps"; var myvarx="over"; MyDbgLog( myvar1, myvar8, myvar5, mwvar3, myvarx); И на выходе получалась строка "<myvar1>Quick</myvar1><myvar8>brown</myvar8><myvar5>fox</myvar5><mwvar3>jumps</mwvar3><myvarx>over</myvarx>" как сделать такую MyDbgLog ? |
Автор: CruorVult 16.9.2010, 09:44 | ||
Передавать объект:
|
Автор: nerdy_weirdie 16.9.2010, 14:40 |
С этими скобками, кавычками, двоеточиями, и дублированием имен переменных от функции нет никакого профита. Может есть поэлегантнее способ? Шаблоны какие или макросы? |
Автор: nerdy_weirdie 16.9.2010, 19:48 |
Просто хотелось бы собирать данные просто написав переменные через запятую, это экономило бы уйму времени ибо операция будет производиться несметное количество раз. Да, JS нужен, всегда в языках есть какие-то возможности о которых не знаешь, потому такое и спрашиваю. Сделал пока что как массив, через запятую в кавычках, всёж лучше чем объект. Вот бы только еще от кавычек избавиться. |
Автор: magelan 16.9.2010, 21:55 | ||
Так не подойдет?
функцию для вывода этого CruorVult уже написал. теоретически можно извратится, как Джон Ресиг и сказать s = window, но я бы не советовал. |
Автор: skyboy 16.9.2010, 23:21 | ||
из функции выяснить, какое имя у переменной, переданной в качестве аргумента - невозможно. по крайней мере, кроссбраузерно. а неопределенное количество аргументов можно перебрать через arguments:
но тогда вытянуть информацию об "имени" не получится. |