[Local storage limitations]文章中提及JavaScript里的local storge的限制,例子中在localStorage里存储了一个bool型的数据,但是却没有像我们期待的一样进行存储。
当我们存储布尔型,数值型,字符串型时,localStorage对象会将我们存储的数据默认转为字符串字面量。
localStorage[0] = false;// "false" localStorage[1] = 1200;// "1200" localStorage[2] = "wtf";// "wtf"
以上似乎没有什么,仅仅是布尔型的数据失效了。那么如果我们将存储的数据变为其他类型呢?比如数组,字面量对象,Object等。
var obj=new Object(); obj.name="obj"; obj.type="obj"; localStorage[3] = ["160","170","180"];// "160,170,180" localStorage[4] = {"id":"0001","name":"lee"};// "[object Object]" localStorage[5] = obj;// "[object Object]"
这里的Object对象却被转存成了类型字符串。所以存储对象等数据时需要使用 JSON.stringify,JSON.parse 先将其转为字符串,然后再尝试还原数据。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》