细节注意(一) - 浏览器缓存

操作localStorage、sessionStorage

对于前端开发工程师操作浏览器缓存很普遍,本文主要介绍操作localStorage和sessionStorage需要哪些注意。
要注意localStorage和sessionStorage是key, value存储,而key和value只能为String。
所以当你存储Object或者Array时,一定要转化为String。

1
localStorage.setItem('arr', [1, 2, 3]);

这样操作后,你所存的arr会是 1,2,3;

正确的方式:

1
localStorage.setItem('arr', JSON.stringify([1, 2, 3]));

这样操作后,你所存的arr会是[1,2,3];

而获取时要想获得数组的话,需要

1
JSON.parse(localStorage.getItem('arr'));

同理操作Object也是需要这样操作。

最最要注意的是如果你要set一个Number,取出来的时候要进行转化,否则运算是该值为String可能会导致你的程序计算不对。