如何知道是否存在setter

时间:2017-03-16 14:59:18

标签: actionscript-3 actionscript

如果对象存在给定的setter,假设getter确实存在,我怎么知道,尝试动态访问。所以关键是要知道是否可以为该属性设置一个值,但使用hasOwnProperty返回true,因为该名称的属性确实存在。

1 个答案:

答案 0 :(得分:3)

你可以用钝的前方攻击来攻击它,但是不知道这是否会破坏属性数据(如果有预处理设置器):

try
{
    obj.propertyName = obj.propertyName
    trace("Setter is avaliable!");
}
catch (fail:Errot)
{
    trace("There's no setter...");
}

或者,使用http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/package.html#describeType(),似乎<访问者> 标签就是您想要的。