2014-04-11 2 views
0
var variable:Object=new Object(); 

"변수"를 개체로 "변수"를 문자열로 변환 하시겠습니까? 나는 이것이 효과가있을 것이라고 생각했다 :개체 이름을 문자열로 변환

+1

'var variable_string = "variable"' 변수 나 속성을 어떤 형태로든 알지 못하면 변수 나 속성을 참조 할 방법이 없으므로 문자열 리터럴이나 속성을 가져 오는 데 사용할 표현식을 항상 사용할 수 있습니다. – Ryan

답변

1

상기 인스턴스를 통해 인스턴스를 보유하고있는 변수의 이름을 얻을 수 없다.

당신은 for...in 루프를 사용하여 볼 수 있습니다 주어진 키를 상대로 Object에 인스턴스를 저장할 수 :

var myObject:Object = {}; 
var objects:Object = { variable: myObject }; 

for(var i:String in objects) 
{ 
    if(objects[i] === myObject) 
    { 
     trace(i); // variable 
     break; 
    } 
} 
1

모든 클래스 레벨 멤버 이름은 컴파일 된 SWF에서 문자열 상수 풀에 저장됩니다. 따라서 실제로 SWF의 바이트를로드하고 파싱하여 (또는 다른 사람의 API를 사용하여) 변수의 이름을 가져 오는 것이 기술적으로 가능합니다. 그러나, 이것은 아마도 당신이하고있는 것이 무엇이든 가치가있는 것보다 더 많은 문제 일 것입니다.

+0

이 문제를 해결할 수있는 방법은 변수에 문자열 속성을 설정하는 것입니다. 변수 var : Object = new Object(); variable.string = "variable"; – DrakeTruber

관련 문제