场景
我们存入a的值是Number类型的1,获取a值后却不等于1
。
sessionStorage.setItem("a", 1);
sessionStorage.getItem("a") === 1; // 结果为 false
解决
浏览器会自动将数据转义string格式,再进行存储,取出时取出的也是字符串。
因此,存储时需用JSON.stringify()转化成字符串进行存储;取出时使用JSON.parse()进行转换为js格式的数据。
sessionStorage.setItem("b", JSON.stringify(1));
JSON.parse(sessionStorage.getItem("b")) === 1; // 结果为 true