【发布时间】:2012-06-22 01:55:53
【问题描述】:
每当我尝试扩展 Object 原型时,都会出现错误:
错误 #1056:无法在 mx.core.UIComponentDescriptor 上创建属性 my_extension。
我四处寻找,发现了这些:
Flash AS3: ReferenceError: Error #1056: Cannot create property
ReferenceError: Error #1056 - instance name Error
我没有使用可视化 IDE 来设计舞台,而是使用 MXML 和 AS3 文件,所以我不确定如何解决这个错误。
我的代码:
Object.prototype.keys = function(): Array {
var keys: Array = [];
for (var key: * in this) {
keys.push(key);
}
return keys;
}
Object.prototype.values = function(): Array {
var values: Array = [];
for each (var value: * in this) {
values.push(value);
}
return values;
}
【问题讨论】:
-
将代码放入括号中:object["keys"](); ,因为如果你不写非动态对象,你会得到编译时错误。无论如何,我会建议你例如:创建类 ObjectUtil 和内部函数 getKeys ,而不是使用 ObjectUtil.getKeys(myObject);
标签: actionscript-3 flash prototype extending