gpt4 book ai didi

HTML5 本地存储和变量类型

转载 作者:搜寻专家 更新时间:2023-10-31 02:25:14 24 4
gpt4 key购买 nike

我刚刚在 HTML5 中对本地存储进行一些测试。请注意,我使用的是 Safari 6.0.2,因为似乎许多网络引擎处理它们的方法不同。

如果我这样做:

localStorage.setItem('subTotal', Number(12345)); // I know, it's redundant :)
var varType = typeof localStorage.getItem('subTotal');

alert(varType);

你现在会想;这是一个数字!但不,它不是......看起来,即使使用类型转换,HTML5 Local Storage 在插入它们时也会将所有变量类型转换为字符串。这很有趣,因为在使用开发工具时它会在引号之间显示字符串值,而不是数字。也许是 Inspector Pane 去掉了引号。

我在 jQuery 中已经有了一个旧的自动类型转换功能,但我总是对这些情况感到厌倦,因为 0 和 false 仍然会把事情弄得一团糟。

有人知道 localStorage.* 库是否有维护变量类型的设置吗?

最佳答案

您应该先将它们转换为 JSON:

localStorage.setItem( 'subTotal', JSON.stringify(12345) );

然后,在检索您的项目时,解析 JSON:

JSON.parse( localStorage.getItem('subTotal') );

这是 fiddle :http://jsfiddle.net/hD9dF/


为了更容易使用,创建你自己的包装器:

var myLocalStorage = {
set: function (item, value) {
localStorage.setItem( item, JSON.stringify(value) );
},
get: function (item) {
return JSON.parse( localStorage.getItem(item) );
}
};

这是 fiddle :http://jsfiddle.net/hD9dF/1/

关于HTML5 本地存储和变量类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13442819/

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