2013-06-24 4 views
3

다음 코드는 어떻게 작동합니까?JS에서 문자열을 변수 이름으로 사용 하시겠습니까?

var x = 'name'; 

후 변수이었다로, 배, 내부의 값을 사용하고, 내가 그것을 이름을 수 있도록하려면, 내가 결과있을 것이다 있도록, 그것을 설정 :

var name = 'NAME'; 

가능합니까?

+6

보다 조금 더 깨끗하고 * 정말 * 지저분한 코드에 이르게 생각합니다. –

+0

http://stackoverflow.com/questions/16985132/parse-a-string-as-an-object-from-data-attribute 및 http://stackoverflow.com/questions/6491463/accessing-nested-javascript와 유사합니다. -objects-with-string-key (객체와 변수 검색). –

답변

11

직접, 아니요.

var name = 'abc'; 
var my_object = {}; 
my_object[name] = 'something'; 
alert(my_object[name]); 
5

I의 천국 '

var name = 'abc'; 
window[name] = 'something'; 
alert(abc); 

하지만, 훨씬 더 나은 솔루션이 처리하는 자신의 개체를 사용하는 것입니다, 당신은 세계적으로 액세스 할 변수로 할당하는 window에 할당 할 수있는 코드의 나머지 부분을 보았지만 더 나은 방법은 객체를 사용하는 것입니다.

var data = {foo: "bar"}; 
var x = "foo"; 
data[x]; //=> bar 

var y = "hello"; 
data[y] = "panda"; 
data["hello"]; //=> panda 

나는이 자체 포함이를하고 window 접근

관련 문제