Javascript.RU

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

Обратиться к переменной
Приветствую. если утрировать то, у меня есть объект у которого в scope есть несколько переменных.
объект создается так:

vat Obj = (function(){
var variable2;
var variable2;
var variable3;
return {
 met1 : function(){...},
 met2 : function(){...},
 met3 : function(){...},
...
}
})()

и в один из методов приходит строка с названием переменной, (к премеру "variable2"), значение которой нужно получить
какие есть варианты получения нужной мне переменной?

Задача больше на интерес, так как уже нашел другой приемлемый выход.
Ответить с цитированием
  #2 (permalink)  
Старый 20.10.2010, 19:22
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

<script type="text/javascript">
	var object = (function () {
		var variable = "test";
		return {
			method: function () {
				alert( variable );
			}
		}
	})();
	object.method();
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 20.10.2010, 19:26
Интересующийся
Отправить личное сообщение для Falcon Посмотреть профиль Найти все сообщения от Falcon
 
Регистрация: 26.10.2009
Сообщений: 23

не) не то.. эт то ясно. у меня тебе в method должна придти строка "variable"
и ты должен её вернуть "test"


(возможно решение банально и я его в упор не вижу)
желательно и без работы с служебными переменными
Ответить с цитированием
  #4 (permalink)  
Старый 20.10.2010, 19:30
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

<script type="text/javascript">
	var object = (function () {
		var variable = "test";
		return {
			method: function (name) {
				alert( eval(name) );
			}
		}
	})();
	object.method( "variable" );
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 20.10.2010, 19:46
Интересующийся
Отправить личное сообщение для Falcon Посмотреть профиль Найти все сообщения от Falcon
 
Регистрация: 26.10.2009
Сообщений: 23

А eval это уже интересно)
Спасибо.
Может еще у кого какие решения возникнут?
Ответить с цитированием
  #6 (permalink)  
Старый 20.10.2010, 19:47
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Нет, только через eval.
Ответить с цитированием
  #7 (permalink)  
Старый 20.10.2010, 23:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

хмм ...
var object = (function () {
				return {
			method: function (name) {
			   if(name=="variable")	alert("test");
			}
		}
	})();
	object.method( "variable" );
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение к глобальной переменной из jQuery Иван Алексеев jQuery 6 13.08.2010 20:56
Изменение и отображение значения переменной по клику Allan Stark Общие вопросы Javascript 1 25.04.2010 15:50
Область видимости переменной. noumo Events/DOM/Window 3 03.12.2009 23:48
обратиться к элементу формы, заданному переменной Andrej_2 Элементы интерфейса 4 15.05.2009 09:18
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25