0

以下のスニペット。

すべてのローカル ストレージがディスクから変数キャッシュに取り込まれていますか?

(function(){
    var publik = {}, 
        cache = localStorage;

    publik.get = function(){};  // getter
    publik.set = function(){};  // setter
    return publik;
})()

はい/いいえとその理由。

4

2 に答える 2

2

変数に保存しているのは、localStorage オブジェクトへのポインタです。このオブジェクトにはディスク データが「含まれている」のではなく、要求したときに提供されます。

いいえ、ディスクデータをメモリにプルしません

アップデート:

ローカルストレージをキャッシュしたい場合は、それをインターレートして、すべてのキーを1つずつ要求できます

for (var key in localStorage)
    cache[key] = localStorage[key];

ここでは、すべてのキーのローカル ストレージに ASK を指定すると、それが読み取られます。

于 2012-10-04T22:25:48.147 に答える
1

いいえ。

cache は localStorage オブジェクトを参照するようになりました。このオブジェクトは、そのプロパティも参照します。オブジェクトの「クローン」を行っているのではなく、キャッシュにそれを参照するように指示しているだけです。

于 2012-10-04T22:26:21.833 に答える