Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.08.2010, 23:48
Новичок на форуме
Отправить личное сообщение для 25mute Посмотреть профиль Найти все сообщения от 25mute
 
Регистрация: 24.08.2010
Сообщений: 5

извлечь имя переменной из строки
Здравствуйте,
мне нужно вызвать переменную, имя которой заключено в строку. Как?
например,
var string='varName';
var varName=3;
как через string добраться до 3?

так я делаю в as3:
this[String(string)];

Спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 25.08.2010, 00:05
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Ты не поверишь, но твой вариант работоспособен
Ответить с цитированием
  #3 (permalink)  
Старый 25.08.2010, 00:13
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

Меня проклянут боги, но eval(string); . А вообще расскажите поподробнее: зачем вам это?
Ответить с цитированием
  #4 (permalink)  
Старый 25.08.2010, 00:24
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

Сообщение от Sweet Посмотреть сообщение
Ты не поверишь, но твой вариант работоспособен
Исключительно в глобальном скоупе, я полагаю. В замыкании или функции уже не сработает.
Ответить с цитированием
  #5 (permalink)  
Старый 25.08.2010, 00:29
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Я не вижу в вопросе автора поста ни замыканий, ни функций. Так что все просто:
var string='varName', varName=3;
window[string]; //ну или this[string]
Ответить с цитированием
  #6 (permalink)  
Старый 25.08.2010, 00:40
Новичок на форуме
Отправить личное сообщение для 25mute Посмотреть профиль Найти все сообщения от 25mute
 
Регистрация: 24.08.2010
Сообщений: 5

eval сработало! Спасибо.
Ответить с цитированием
  #7 (permalink)  
Старый 25.08.2010, 00:46
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от 25mute
возвратил undefined
У меня везде работает. Но ты лучше eval'ь
Ответить с цитированием
  #8 (permalink)  
Старый 25.08.2010, 07:51
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Нахрена eval, если можно просто свойство считывать:
Сообщение от Sweet
window[string]
?
Ответить с цитированием
  #9 (permalink)  
Старый 25.08.2010, 13:20
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

Сообщение от Riim Посмотреть сообщение
Нахрена eval, если можно просто свойство считывать:

?
Ну, например, потому что такой подход работает только для window. Хотя, я не знаю как оно работает в AS.
Ответить с цитированием
  #10 (permalink)  
Старый 25.08.2010, 13:50
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от ixth
такой подход работает только для window
window[string] где-то не работает?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задать имя переменной в setvariable ppm Общие вопросы Javascript 1 12.03.2010 12:14
Отфильтровать строки в таблице по заданным критериям Hag1989 Общие вопросы Javascript 0 03.12.2009 02:06
Динамическое имя переменной igorska Сайт Javascript.ru 1 14.09.2009 12:15
Для события onCLick получить индекс строки и объект грида. progi2007 ExtJS 4 05.08.2009 11:31
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25