Как я тестирую, если свойство существует на объекте прежде, чем считать его значение?

Я пытаюсь считать свойство на серии Спрайтов. Это свойство может или не может присутствовать на этих объектах, и даже не может быть объявлено, не хуже, чем быть пустым.

Мой код:

if (child["readable"] == true){
    // this Sprite is activated for reading
}

И таким образом, Flash показывает мне:

Ошибка № 1069: Свойство, можно выбрать не найденный на flash.display. Sprite и нет никакого значения по умолчанию.

Существует ли способ протестировать, если свойство существует прежде, чем считать его значение?

Что-то как:

if (child.isProperty("readable") && child["readable"] == true){
    // this Sprite is activated for reading
}
27
задан Greg B 2 May 2010 в 06:50
поделиться

3 ответа

Объекты в AS3 имеют метод hasOwnProperty который принимает строковый аргумент и возвращает true, если у объекта определено это свойство.

if(myObj.hasOwnProperty("someProperty"))
{
    // Do something
}
56
ответ дан 28 November 2019 в 04:25
поделиться
if ("readable" in child) {
  ...
19
ответ дан 28 November 2019 в 04:25
поделиться

Попробуйте сделать что-то вроде этого:

if (child["readable"] != null){

}
0
ответ дан 28 November 2019 в 04:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: