我刚刚在做一些有关HTML5中本地存储的测试。需要注意的是,我使用的是Safari 6.0.2,因为许多浏览器引擎处理它们的方法不同。
如果我这样做:
localStorage.setItem('subTotal', Number(12345)); // I know, it's redundant :)
var varType = typeof localStorage.getItem('subTotal');
alert(varType);
你现在可能会认为:这是一个数字!但不是的。似乎即使进行类型转换,HTML5本地存储也会将所有变量类型转换为字符串进行插入。有趣的是,使用开发工具时,它会在引号之间显示字符串值,但不会显示数字。也许是检查器面板去掉了引号。
我已经在jQuery中编写了一个旧的自动类型转换函数,但我总是对这些情况持谨慎态度,因为0和false仍然可能造成混乱。
有人知道localStorage.*库是否有设置来维护变量类型吗?