Можно ли проверить класс, чтобы узнать, есть ли у него метод или нет? Или даже конкретное свойство
Проверьте, есть ли у класса метод
Ответ 1
var target:Object;// = some object
var name:String;// = some name
if(name in target){
// if property/method exists
}else{
// if property/method not exists
}
Ответ 2
import flash.utils.describeType;
...
function methodExists(obj:Object,name:String):Boolean
{
var desc:XML=flash.utils.describeType(obj);
return (desc.method.(@name==name).length()>0);
}
(Примечание: снято с верхней части головы)
Ответ 3
Вы также можете вызывать методы/свойства из метода array/lookup, например, следующим образом. Если он не существует, он будет "undefined", который также считается "false".
var target:Object;// = some object
if(target["propertyName"]){
// if property/method exists
}else{
// if property/method not exists
}