:
는
var myFoo:Foo = new Foo();
myFoo.newProp = "bar";
trace(myFoo.newProp != undefined); // true
trace(myFoo.nothing != undefined); // false
trace("newProp" in myFoo); // true
trace("nothing" in myFoo); // false
trace(myFoo.hasOwnProperty("newProp")); // true
trace(myFoo.hasOwnProperty("nothing")); // false
당신은 또한 그냥 간단하게 첫 번째 예를 들어 대괄호 표기법을 사용할 수
는 다음과 같은 고려
for (var propertyName:String in myFoo)
{
trace("Property " + propertyName + ": " + myFoo[propertyName]);
if (propertyName == "myNewDynamicProp")
{
// found
// may be do something
}
}
이렇게하면 원하는 속성을 확인할 수있을뿐 아니라 전반적인 (동적) 클래스 속성으로 많은 작업을 수행 할 수 있습니다.
이것은 작동하지 않습니다. – HDave
아, 좋은 전화, 그 대답에 조금 돌진했다. 오직 Foo 클래스에 정의 된 프로퍼티의 null 체크를 위해서만 작동합니다. 감사. 선택한 대답의 첫 번째 예제가 그때도 작동하지 않을까요? – eak12913
존재하지 않는 동적 속성을 쿼리 할 때 Flex는 "undefined"를 반환합니다. 하지만 진정한 대답은 "hasOwnProperty"라는 메서드였습니다.이 클래스는 Eclipse에서 클래스에 대한 메서드로 표시되지 않지만 작동합니다! – HDave