1

私はオブジェクトを持っています:

var myObj = new myAwsumObj();

今、現在、私はそのように削除しています:

myObj = undefined;

しかし、オブジェクトがまだ存在するため、明らかに何もしません(このオブジェクトが定義されている「外部」javascriptファイルにある何かによって例外がスローされていることがわかります)。

このようなものをすべてクリアするにはどうすればよいですか? 出来ますか?myObjこの外部 javascript ファイルで非常に多くのことを行っているように見えるため、おそらく新しいオブジェクトを作成することさえありますが、この外部ファイルをリファクタリングせずにこの混乱をすべて解消することは可能ですか?

4

1 に答える 1

1

残念ながら、それは不可能です。あなたの説明から、オブジェクト自体は、イベントハンドラーの追加、タイムアウト/間隔の設定、ajaxコールバックなどによって、それ自体への参照を作成しているようです。自分で作成したオブジェクトへのすべての参照をクリアしたとしても、独自に作成した参照をクリアする必要があります。そうして初めて、非アクティブになり、参照されなくなり、ガベージ コレクションの対象になります。

しかし、そのソース コードを調べてみると、おそらくオブジェクトは、混乱をすべて処理する「destruct」メソッドを提供しています。

于 2013-04-18T01:34:55.073 に答える