【问题标题】:why jquery deep copy for localStorage doesn't work?为什么 localStorage 的 jquery 深拷贝不起作用?
【发布时间】:2015-05-04 18:29:09
【问题描述】:

我在 localStorage 中得到的是 [object Object],但对于 javascript 中的其他变量,它确实有效。

示例代码:

var some_hash = {
"key1":"value1",
"key2": "value2",
"key3" : [{
"key3a": "value3a"}]


}

var deep_copy = $.extend(true, {}, some_hash)
console.log(deep_copy)
Object {key1: "value1", key2: "value2", key3: Array[1]}

localStorage["help"] = $.extend(true, {}, some_hash)
console.log(localStorage["help"])
[object Object]

这是为什么呢?任何解决方法?

【问题讨论】:

    标签: javascript jquery copy deep-copy


    【解决方案1】:

    localStorage 仅将值存储为字符串,而不是对象。

    尝试使用 JSON.stringify 和 JSON.parse:

     var deep_copy = JSON.stringify($.extend(true, {}, some_hash));
     console.log(JSON.parse(deep_copy));
    

    也请看这里: Storing Objects in HTML5 localStorage

    【讨论】:

      猜你喜欢
      • 2014-06-07
      • 2010-09-16
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 2014-07-06
      • 1970-01-01
      • 2013-06-19
      相关资源
      最近更新 更多