如果对象存在给定的setter,假设getter确实存在,我怎么知道,尝试动态访问。所以关键是要知道是否可以为该属性设置一个值,但使用hasOwnProperty
返回true,因为该名称的属性确实存在。
答案 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(),似乎<访问者> 标签就是您想要的。