0

在下面的片段中。

是否所有本地存储都从磁盘拉到变量缓存中?

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

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

是/否以及为什么。

4

2 回答 2

2

您在变量中存储的是指向 localStorage 对象的指针,该对象不“包含”磁盘数据,它会在您请求时提供给您。

所以不,它不会将磁盘数据拉入内存

更新:

如果要缓存本地存储,可以对其进行交互并逐个请求每个键

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

在这里,您询问每个密钥的本地存储并读取它。

于 2012-10-04T22:25:48.147 回答
1

不。

cache 现在引用 localStorage 对象。这个对象也引用了它的属性。您不是在对对象进行“克隆”,而只是告诉缓存引用它。

于 2012-10-04T22:26:21.833 回答