AS3.0中获取对象的类

Object有一个constructor的动态属性可以返回对象的类,例如:

 1 package
 2 {
 3     import flash.display.Sprite;
 4     
 5     public class Main extends Sprite
 6     {
 7         public function Main()
 8         {
 9             var a:Object= new Sprite();
10             trace(a.constructor);
11             //返回[class Sprite]
12         }
13     }
14 }

 

但是有几点要注意

Proxy类会在调用constructor属性时抛出异常:

Error: Error #2088: Proxy 类不实现 getProperty。它必须由一个子类覆盖。
at Error$/throwError()
at flash.utils::Proxy/http://www.adobe.com/2006/actionscript/flash/proxy::getProperty()

XML,XMLList在调用时返回空;int,uint调用constructor时会返回Number;Vector调用时会返回vector.<*>,例如

 1 package
 2 {
 3     import flash.display.MovieClip;
 4     import flash.display.Sprite;
 5     
 6     public class Main extends Sprite
 7     {
 8         public function Main()
 9         {
10             var a:Object= new Vector.<MovieClip>();
11             trace(a.constructor);
12             //返回 [class Vector.<*>]
13         }
14     }
15 }

在写框架用到反射机制时这个还是比较有用的一个属性。

 

转自:http://sswilliam.blog.163.com/blog/static/18969638320116311531950/

转载于:https://www.cnblogs.com/MATRIX42/archive/2012/08/04/2622700.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值