在as3中检查对象本身是否为null

时间:2014-05-30 01:29:03

标签: actionscript-3 class object null

我可以在对象自己的.as文件中检查对象是否为空吗? if(this != null)不起作用,因为它试图运行代码,即使对象的父代已经取消了它。

2 个答案:

答案 0 :(得分:1)

如果执行了对象定义中的代码,并且该代码不是静态的,那么this肯定不是null。您可以检查父项的存在,或检查内部标记,或者听取REMOVED_FROM_STAGE事件以了解this即将被丢弃。恕我直言,最好的方法是检查父母或舞台。如果parent不为空,则this是某个对象的显示列表的一部分 - 由于父级的操作,它可能仍会被丢弃。但如果stage不为空,则this会主动参与整个应用程序的显示列表。因此,您需要检查if (this != null)if (this.parent != null)

而不是if (this.stage != null)

答案 1 :(得分:0)

根据定义,this是对包含对象的方法的引用。 请参阅http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/statements.html#this

所以我没有看到this如何返回null的方式。