2017-07-18 4 views
0

ありますか終了リスナー Javaスクリプトに問題がありますか?Javaスクリプト内でリスナーが終了しました

私たちがイベントを購読してから購読を停止すると、それはLapse Listenerの問題につながります。

+0

https://stackoverflow.com/questions/12528049/if-a-dom-element-is-removed-are-its-listeners-also-removed-from-memory – epascarello

+3

「Lapse listener problem」とは何ですか? – guest271314

+0

"倒れた聞き手"とは何か、私たちに教えてくれるまで、私たちは本当にお手伝いできません。オブジェクトのイベントに登録すると、そのイベントハンドラ内のコードは「到達可能」になり、そのリスナーで参照されるオブジェクトはガベージコレクションできません。それがJavascriptガベージコレクションの設計方法です。 Javascriptを適切に使用するために学ばなければならないことは、それほど問題ではありません。リスナーを終了した場合は、ホストオブジェクトからリスナーを削除します。ルールはそれより単純ではありません。 – jfriend00

答えて

0

あなたに質問に答えたように思われるので、私のコメントを回答にしてください。

オブジェクトのイベントをサブスクライブすると、そのイベントハンドラのコードはすべて「到達可能」になり、そのリスナーで参照されるオブジェクトはガベージコレクションできません。

これは、Javascriptガベージコレクションの設計方法です。 Javascriptを適切に使用するために学ばなければならないことは、それほど問題ではありません。リスナーを終了し、リスナーがまだ呼び出されている場合でも、リスナーをホストオブジェクトから削除すると、リスナーはまだ生きています(ルールはそれ以上単純ではありません)。

+0

@ user2224055 - これはあなたの質問に答えますか?そうであれば、回答の左側にある緑色のチェックマークをクリックすることでコミュニティにその旨を示すことができ、それによって評判のポイントも得られます。 – jfriend00

関連する問題