actionscript-3 - 如何判断一个 Actionscript 对象是否具有某个动态属性?

标签 actionscript-3 apache-flex dynamic

我有一个动态的 Actionscript 类如下:

public dynamic class Foo {....}

在我的代码中,我(可以)添加一些属性:

myFoo["myNewDynamicProp"] = "bar";

在我的代码的其他地方,给定类 Foo 的实例,我如何确定是否已经添加了该动态属性而不引发昂贵的异常?

最佳答案

你可以做三件事之一。首先,调用动态实例上不存在的属性不会引发异常。它只是返回 undefined,所以你可以测试一下。或者您可以使用 in 关键字。或者你可以使用 hasOwnProperty() 方法。

考虑以下几点:

var myFoo:Foo = new Foo();

myFoo.newProp = "bar";

trace(myFoo.newProp != undefined); // true
trace(myFoo.nothing != undefined); // false

trace("newProp" in myFoo); // true
trace("nothing" in myFoo); // false

trace(myFoo.hasOwnProperty("newProp")); // true
trace(myFoo.hasOwnProperty("nothing")); // false

您也可以轻松地在第一个示例中使用括号表示法:myFoo['nothing']

关于actionscript-3 - 如何判断一个 Actionscript 对象是否具有某个动态属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7744139/

相关文章:

apache-flex - 是否可以使用条件编译设置静态常量?

c - 动态列表中的 Malloc 函数

css - 组件状态的 Adob​​e Flex 设置样式

apache-flex - Font.registerFont()。错误#1508 : The value specified for argument font is invalid

actionscript-3 - htmlText 不显示粗体或斜体字体

apache-flex - 错误 : Could not resolve to a component implementation

javascript - 我可以使用 ECMAScript 的 `with` 语句通过单个操作定位多个对象吗?

string - 从 ActionScript 中的字符串替换所有空格、符号、数字、大写字母的最佳方法?

Java问题,如何从未知对象中获取方法的值

c - 如何使用连接两个动态字符串生成的字符串动态引用数组?