문제

ActionScript 3에서 DOCS가 말할 때 GetDefinitionByName ()가 객체를 반환하는 이유는 무엇입니까?

이름 매개 변수로 지정된 클래스의 클래스 객체에 대한 참조를 반환합니다.

이를 바탕으로 리턴 된 객체가 객체 대신 클래스 여야한다고 결론을 내립니다. 누군가가 왜 그런 경우가 아닌가?

도움이 되었습니까?

해결책

getDefinitionByName은 getDefinitionByName ( 'flash.utils.getDefinitionByName')과 같은 함수를 반환 할 수 있습니다. 그러나 정적 클래스 방법이 아닌 네임 스페이스 레벨 기능에서만 작동합니다.

다른 팁

메소드 서명에도 불구하고 getDefinitionByName이 반환됩니다 수업. 오해의 소지가있는 서명은 클래스 객체 앞에 존재하는 메소드 (익명/확장 객체 인스턴스를 반환하는 데 사용될 때) 때문이라고 생각합니다.

아마도 Adobe는이 기능이 향후 버전의 Flash Player에서 다른 값을 반환 할 수 있다고 생각했을 것입니다. 예를 들어, Actionscript 기반의 표준 인 ECMASCRIPT는 역사적으로 사용되었습니다. Function 클래스와 같은 객체의 기초로 프로토 타입이있는 개체. ECMAScript 표준의 최신 버전에 대한 토론 중에, 런타임에서 "Freezing"기능 기반 클래스에 대한 소환이있어 컴파일 타임과 같은 것으로 만들었습니다. Class 사물. 정의 이름을 지정할 수 있다면 어떨까요? 그들은 실제로 유형입니다 Class 이 시점에서 또는 여전히 또는 유형입니까? Function? 아마도 내 의견으로는 나중에. '클래스'및 '기능'참조는 모두로 일반화 될 수 있습니다. Object, 이 맥락에서 반환 유형이 의미가 있습니다.

참고 :이 설명은 내가 읽은 내용에 근거한 순전히 추측입니다. ecmascript 사양 Wiki 그리고 다양한위원회 회원들의 블로그.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top