var variable:Object=new Object();
"변수"를 개체로 "변수"를 문자열로 변환 하시겠습니까? 나는 이것이 효과가있을 것이라고 생각했다 :개체 이름을 문자열로 변환
var variable:Object=new Object();
"변수"를 개체로 "변수"를 문자열로 변환 하시겠습니까? 나는 이것이 효과가있을 것이라고 생각했다 :개체 이름을 문자열로 변환
상기 인스턴스를 통해 인스턴스를 보유하고있는 변수의 이름을 얻을 수 없다.
당신은 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;
}
}
모든 클래스 레벨 멤버 이름은 컴파일 된 SWF에서 문자열 상수 풀에 저장됩니다. 따라서 실제로 SWF의 바이트를로드하고 파싱하여 (또는 다른 사람의 API를 사용하여) 변수의 이름을 가져 오는 것이 기술적으로 가능합니다. 그러나, 이것은 아마도 당신이하고있는 것이 무엇이든 가치가있는 것보다 더 많은 문제 일 것입니다.
이 문제를 해결할 수있는 방법은 변수에 문자열 속성을 설정하는 것입니다. 변수 var : Object = new Object(); variable.string = "variable"; – DrakeTruber
'var variable_string = "variable"' 변수 나 속성을 어떤 형태로든 알지 못하면 변수 나 속성을 참조 할 방법이 없으므로 문자열 리터럴이나 속성을 가져 오는 데 사용할 표현식을 항상 사용할 수 있습니다. – Ryan