2


基本的に、Objectクラスのコンストラクターを変更したいと思います。
すべてのクラスがObjectを拡張するので、任意のクラスの任意のオブジェクトがインスタンス化されるたびに、変更された関数が
呼び出されること を願っています。

だから私はこれをしました:

 Object.prototype.constructor = function (){
            trace("it was called;");
        };

トレースステートメントにブレークポイントを設定します。

しかし、それだけではありません。
トレースステートメントも実行されませんでした。

解決策/提案はありますか?

4

2 に答える 2

2

どのコンテキストでコーディングしていますか?FlexコンパイラMXMLC(FlashBuilderを使用している場合はデフォルト)を使用している場合は、コンパイラオプション-esを追加できます。これにより、AS3がAS2やJSのように感じられ、プロトタイプチェーンの継承がサポートされるはずです。

-compiler.es alias -es

「ECMAScriptエディション3のプロトタイプベースのオブジェクトモデルを使用して、プロトタイププロパティを動的にオーバーライドできるようにします。プロトタイプベースのオブジェクトモデルでは、組み込み関数がプロトタイプオブジェクトの動的プロパティとして実装されます。(高度な)」

パッケージ、名前空間、クラスなど、アドビがECMAスクリプト標準に追加したすべての拡張機能でこれがうまく機能するかどうかはわかりません。しかし、あなたはそれを試してみることができます。

于 2010-09-13T15:54:52.093 に答える
0

AS-3では不可能だと思いますが、AS-2では可能でした。

于 2010-10-02T13:18:08.430 に答える