Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 本地存储3对象_Javascript - Fatal编程技术网

Javascript 本地存储3对象

Javascript 本地存储3对象,javascript,Javascript,可以将3个对象添加到本地存储,而不仅仅是值和键?我尝试了一些代码,但没有成功 我想: 3个对象 3输入文本 保存在页面上保存文本的按钮 很快,不可以。您只能存储字符串类型的键/值。 但是,你必须看看: 他们通过字符串化对象来解释解决方法 CMS报价(接受答案): 很快,不可以。您只能存储字符串类型的键/值。 但是,你必须看看: 他们通过字符串化对象来解释解决方法 CMS报价(接受答案): 不,你不能localStorage(和sessionStorage)只能存储键值对,其中值只能是字符串 您最

可以将3个对象添加到本地存储,而不仅仅是值和键?我尝试了一些代码,但没有成功

我想:

  • 3个对象
  • 3输入文本
  • 保存在页面上保存文本的按钮

  • 很快,不可以。您只能存储字符串类型的键/值。

    但是,你必须看看:

    他们通过字符串化对象来解释解决方法

    CMS报价(接受答案):


    很快,不可以。您只能存储字符串类型的键/值。

    但是,你必须看看:

    他们通过字符串化对象来解释解决方法

    CMS报价(接受答案):


    不,你不能
    localStorage
    (和
    sessionStorage
    )只能存储键值对,其中值只能是字符串

    您最好使用一些序列化算法来存储普通对象。JSON是最常见的,因此您可以使用
    JSON.stringify
    将对象转换为字符串,使用
    JSON.parse
    将其转换回一个对象-该对象不是“相同的”(即对相同数据的引用),而是等效的对象

    这意味着这种情况会发生:

    var a = {value: 5},
        j = JSON.stringify(a);
    
    var b = a,
        c = JSON.parse(j);
    
    a.value = 7;
    b.value;   // 7
    c.value;   // 5
    
    但无论如何,这不适用于DOM元素。他们不能被储存,句号。就像任何类中不是
    object
    的任何其他对象一样,除非它们提供了一个
    toJSON
    方法来可靠地将它们转换为字符串,最终可以解析回字符串

    JSON.stringify
    在内部使用
    toJSON
    方法将对象转换为字符串

    例如,
    Date
    对象提供了一个
    toJSON
    方法。您可以使用
    Date.parse
    将字符串转换回:

    var d = new Date(),
        j = d.toJSON(); // e.g. "2014-02-22T10:35:41.579Z"
    
    var o = new Date(Date.parse(j));
    
    o.getTime() === d.getTime(); // true
    o === d;                     // false
    
    (请记住,IE7及更低版本并不支持JSON。)


    但是,您不能对DOM元素执行相同的操作,因此2和3是不可行的。

    不,您不能
    localStorage
    (和
    sessionStorage
    )只能存储键值对,其中值只能是字符串

    您最好使用一些序列化算法来存储普通对象。JSON是最常见的,因此您可以使用
    JSON.stringify
    将对象转换为字符串,使用
    JSON.parse
    将其转换回一个对象-该对象不是“相同的”(即对相同数据的引用),而是等效的对象

    这意味着这种情况会发生:

    var a = {value: 5},
        j = JSON.stringify(a);
    
    var b = a,
        c = JSON.parse(j);
    
    a.value = 7;
    b.value;   // 7
    c.value;   // 5
    
    但无论如何,这不适用于DOM元素。他们不能被储存,句号。就像任何类中不是
    object
    的任何其他对象一样,除非它们提供了一个
    toJSON
    方法来可靠地将它们转换为字符串,最终可以解析回字符串

    JSON.stringify
    在内部使用
    toJSON
    方法将对象转换为字符串

    例如,
    Date
    对象提供了一个
    toJSON
    方法。您可以使用
    Date.parse
    将字符串转换回:

    var d = new Date(),
        j = d.toJSON(); // e.g. "2014-02-22T10:35:41.579Z"
    
    var o = new Date(Date.parse(j));
    
    o.getTime() === d.getTime(); // true
    o === d;                     // false
    
    (请记住,IE7及更低版本并不支持JSON。)

    但是,不能对DOM元素执行相同的操作,因此2和3是不可行的