我想在Actionscript中这样做:
typeof(control1) != typeof(control2)
测试两个对象是否属于同一类型.这在C#中可以正常工作,但在Actionscript中它没有.事实上,它返回'object'
两个typeof()
表达式,因为这就是Actionscript的工作方式.
我似乎无法通过查看调试器或typeof()
在Actionscript 中描述的页面找到替代方案.
有没有办法获得实际的运行时类型?
最好的方法是使用flash.utils.getQualifiedClassName()
.此外,您可以使用flash.utils.describeType()
获取XML文档来描述有关该类的更多信息.
Actionscript 3有一个is运算符,可用于比较对象.请考虑以下代码:
var mySprite:Sprite = new Sprite(); var myMovie:MovieClip = new MovieClip(); trace(mySprite is Sprite); trace(myMovie is MovieClip); trace(mySprite is MovieClip); trace(myMovie is Sprite);
这将产生以下输出:
true true false false
这适用于内置类和您自己创建的类.的动作2当量的就是操作者的instanceof.