我有一个奇怪的问题。一个Object被传递给我的函数,一些参数是可选的,所以我自然会检查它们是否存在,如果没有,则什么也不做。
但是,当我检查时,我得到一个空引用错误(#1009)。这是样本:
public function parseObject(params:Object) {
if (params.optionalParam)
trace("Got Optional Parameter!");
}
在if
语句的行上返回错误。更改它以检查null(if (params.optionalParam == null)
)也不起作用。如果一个物体不存在,玩家似乎只是放弃了。
有没有合理的理由让这种情况发生?或者是刚出现的一些奇怪的错误?
先谢谢, -esa
答案 0 :(得分:4)
如果你的params对象为null,那么当你试图访问它的'optionalParam属性时,你会得到一个空引用错误。
尝试类似:
if (params == null)
{ trace("params is null!"); }
else if (params.optionalParam != null)
{ trace("Got optional parameter!"); }