gpt4 book ai didi

javascript - 使用 stringify 将对象设置和获取到本地存储?

转载 作者:数据小太阳 更新时间:2023-10-29 03:59:35 26 4
gpt4 key购买 nike

创建一个名为 car 的对象:

function car(temp){

this.brand=temp[0];
this.color=temp[1];
this.year=temp[2];
}

var temp = ['Skoda', 'Red', '2012'];
car = new car(temp);
  1. 从本地存储读取后设置对象和字符串化:

    localStorage.setItem('car',car);
    car = localStorage.getItem('car');
    car = JSON.stringify(car);

    car after stringify----------------> [object Object] at file:///android_asset/www/...

  2. Stringify 对象并在其后将对象设置为 localStorage:localStorage.setItem('car',JSON.stringify(car));
    car = localStorage.getItem('car');

字符串化后的汽车----------------> "{\"brand\":\"Skoda\",\"color\":\"Red\",\"year\":\"2012\"}"at file:///android_asset/www/...

问题一:为什么字符串化对象的顺序不同?

问题 2:为什么我不能像那样使用字符串化对象:

08-21 11:49:14.860: I/Web Console(9642): car after stringify----------------->     {"brand":"Skoda","color":"Red","year":"2012"}

console.log("car.brand----->"+car.brand);car.name----->未定义

最佳答案

根据我的理解,一旦字符串化对象不再是对象,您就不能再使用它了。这是一个字符串。

因此,当您尝试对字符串执行 car.brand 时,没有属性 brand

就我个人而言,我认为好的做法是这样做。

 function car(temp){
this.brand=temp[0];
this.color=temp[1];
this.year=temp[2];
}

var temp = ['Skoda', 'Red', '2012'];
car = new car(temp);

localStorage.setItem('car',JSON.stringify(car));
car = localStorage.getItem('car');
car = JSON.parse(car);

这意味着汽车对象现在不是字符串而是对象。

执行此操作时,还使用 ​​stringify 写入本地存储并使用 parse 读取。

关于javascript - 使用 stringify 将对象设置和获取到本地存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12051357/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com