将localStorage设置为变量|怎么了?

时间:2012-10-04 22:20:39

标签: javascript

在下面的代码段中。

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

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

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

是/否和为什么。

2 个答案:

答案 0 :(得分:2)

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

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

更新

如果您想缓存本地存储,您可以将其整合并逐个询问每个密钥

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

在这里,您要为每个密钥询问本地存储,然后读取它。

答案 1 :(得分:1)

没有

cache现在引用localStorage对象。该对象也引用了它的属性。你没有对对象进行“克隆”,只是告诉缓存引用它。