Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обратиться к переменной (https://javascript.ru/forum/misc/12500-obratitsya-k-peremennojj.html)

Falcon 20.10.2010 19:02

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

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

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

Задача больше на интерес, так как уже нашел другой приемлемый выход.

exec 20.10.2010 19:22

<script type="text/javascript">
	var object = (function () {
		var variable = "test";
		return {
			method: function () {
				alert( variable );
			}
		}
	})();
	object.method();
</script>

Falcon 20.10.2010 19:26

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


(возможно решение банально и я его в упор не вижу)
желательно и без работы с служебными переменными

exec 20.10.2010 19:30

<script type="text/javascript">
	var object = (function () {
		var variable = "test";
		return {
			method: function (name) {
				alert( eval(name) );
			}
		}
	})();
	object.method( "variable" );
</script>

Falcon 20.10.2010 19:46

А eval это уже интересно)
Спасибо.
Может еще у кого какие решения возникнут?

exec 20.10.2010 19:47

Нет, только через eval.

рони 20.10.2010 23:52

хмм ...
var object = (function () {
				return {
			method: function (name) {
			   if(name=="variable")	alert("test");
			}
		}
	})();
	object.method( "variable" );


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