在下面的代码段中。
是否所有本地存储都从磁盘拉入变量缓存?
(function(){
var publik = {},
cache = localStorage;
publik.get = function(){}; // getter
publik.set = function(){}; // setter
return publik;
})()
是/否和为什么。
答案 0 :(得分:2)
您在变量中存储的是指向localStorage对象的指针,该对象不“包含”磁盘数据,它会在您请求时将其提供给您。
所以不,它不会将磁盘数据拉入内存
更新
如果您想缓存本地存储,您可以将其整合并逐个询问每个密钥
for (var key in localStorage)
cache[key] = localStorage[key];
在这里,您要为每个密钥询问本地存储,然后读取它。
答案 1 :(得分:1)
没有
cache现在引用localStorage对象。该对象也引用了它的属性。你没有对对象进行“克隆”,只是告诉缓存引用它。