0

global 内にデータを保持している場合、どのような問題が発生する可能性がありvar cache = {}ますか?

ガベージコレクターによって収集されますか?視聴が終了するまで持続することを確認できますか?

次回ページを開いたときにも、キャッシュされたデータの準備ができているので、使用できるブラウザの組み込み機能はありますか?

ありがとう。

4

2 に答える 2

3

javascriptのグローバルデータの存続期間を理解する必要があるようです。

  1. 特定のページの存続期間中、グローバル変数はその値をクリアするまで存続します。ガベージコレクションされることはありません。グローバルであるため、範囲外になることはありません。

  2. ビューアがそのウィンドウの新しいページに移動するか、そのブラウザウィンドウを閉じると、その前のページのすべてのjavsacriptデータが解放され、使用できなくなります。

  3. データを永続化して、そのページまたは他のページの将来のビューで使用できるようにする方法は3つあります。1)Cookie、2)ローカルストレージ、3)サーバーストレージ。これらすべての場合において、データは保存場所から取得してjavascriptに戻す必要があります。

于 2012-08-07T06:17:57.213 に答える
1

ページが開いている限り、変数は存在します。閉じられた後(または離れた場所に移動された後)、ガベージコレクションが行われます。

キャッシュにデータがほとんどない場合は、シリアル化してCookieとして保存できます。大量のデータの場合、DOMストレージが役立つ場合がありますが、ブラウザー間で広くサポートされているわけではありません。

于 2012-08-07T06:12:08.443 に答える