如何知道 setter 是否存在

How to know if a setter exists

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

你可以用钝的正面攻击来撞击它,但是不知道这是否会破坏 属性 数据(如果有预处理 setter):

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(),看来标签就是你想要的。