AS3:尝试检查它是否存在时是否为空对象引用?

时间:2011-08-03 15:40:34

标签: actionscript-3 reference null

我有一个奇怪的问题。一个Object被传递给我的函数,一些参数是可选的,所以我自然会检查它们是否存在,如果没有,则什么也不做。

但是,当我检查时,我得到一个空引用错误(#1009)。这是样本:

public function parseObject(params:Object) {
   if (params.optionalParam)
       trace("Got Optional Parameter!");
}

if语句的行上返回错误。更改它以检查null(if (params.optionalParam == null))也不起作用。如果一个物体不存在,玩家似乎只是放弃了。

有没有合理的理由让这种情况发生?或者是刚出现的一些奇怪的错误?

先谢谢, -esa

1 个答案:

答案 0 :(得分:4)

如果你的params对象为null,那么当你试图访问它的'optionalParam属性时,你会得到一个空引用错误。

尝试类似:

if (params == null)
{ trace("params is null!"); }
else if (params.optionalParam != null)
{ trace("Got optional parameter!"); }