基本上,我想修改 Object
类的构造函数。由于每个类都扩展了 Object,我希望每当
实例化任何类的任何对象时,都会
调用修改后的函数。
所以我这样做了:
Object.prototype.constructor = function (){
trace("it was called;");
};
并在跟踪语句上放置一个断点。
但它并没有就此止步。
跟踪语句也没有被执行。
任何解决方案/建议?
基本上,我想修改 Object
类的构造函数。由于每个类都扩展了 Object,我希望每当
实例化任何类的任何对象时,都会
调用修改后的函数。
所以我这样做了:
Object.prototype.constructor = function (){
trace("it was called;");
};
并在跟踪语句上放置一个断点。
但它并没有就此止步。
跟踪语句也没有被执行。
任何解决方案/建议?
你在什么情况下编码?如果您使用的是 Flex 编译器 MXMLC(默认情况下,如果您在 FlashBuilder 中),则可以添加编译器选项 -es。这应该让 AS3 感觉更像 AS2 和 JS,并支持原型链继承。
-compiler.es alias -es
“使用 ECMAScript 第 3 版基于原型的对象模型来允许动态覆盖原型属性。在基于原型的对象模型中,内置函数被实现为原型对象的动态属性。(高级)”
我不知道这是否适用于 Adobe 添加到 ECMA 脚本标准的所有扩展,如包、命名空间和类。但你可以试一试。
我认为这在 AS-3 中是不可能的,但它在 AS-2 中。