当我将整数值分配给localStorage项目时
localStorage.setItem('a',1)
并检查其类型
typeof(localStorage.a)
"string"
它返回 串,我可以把它强制转换 INT 供我使用
parseInt(localStorage.a)
我的问题是可以在localStorage中存储整数值,因为我可以为没有类型转换的Javascript对象做什么?
a={};
a.number=1;
typeof(a.number)
"number"
我的问题是可以在localStorage中存储整数值,因为我可以为没有类型转换的Javascript对象做什么?
没有。
存储对象是简单的键值存储,类似于对象,但它们通过页面加载保持不变。键可以是字符串或整数, 但值始终是字符串。 [资源]
实际上你可以,如果我们同意解析与类型转换不同:
let val = 42;
localStorage.answer = JSON.stringify(val);
let saved = JSON.parse(localStorage.answer);
console.log( saved === val ); // true
小提琴 因为过度保护的stacksnippets不允许localStorage。
为简单起见,无论如何,你应该总是将你在localStorage中保存的内容字符串化为JSON,这样你就不必考虑保存/检索的内容了,你会避免 "[object Object]"
被救了