Подтвердить что ты не робот

Проверьте, есть ли у класса метод

Можно ли проверить класс, чтобы узнать, есть ли у него метод или нет? Или даже конкретное свойство

4b9b3361

Ответ 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
}