AS3: пустая ссылка на объект при попытке проверить, существует ли он? - PullRequest
0 голосов
/ 03 августа 2011

У меня странная проблема.Объект передается моей функции, и некоторые параметры являются необязательными, поэтому, естественно, я бы проверил, есть ли они там, и если нет, ничего не сделаю.

Однако я получаю нулевую ссылку на ошибку(# 1009) когда я просто проверяю это.Вот пример:

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

Ошибка возвращается в строке с оператором if.Изменение его для проверки на ноль (if (params.optionalParam == null)) также не работает.Игроки, кажется, просто сдаются, если объект не существует.

Есть ли логическая причина для этого?Или это какая-то странная ошибка, которая только что появилась?

Заранее спасибо, -Esa

1 Ответ

4 голосов
/ 03 августа 2011

Если ваш объект params имеет значение null, то при попытке получить доступ к свойству optionPalm вы получите ошибку нулевой ссылки.

Попробуйте что-то вроде:

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