A. *_*lff 5 javascript html5 boolean local-storage
在localStorage中存储布尔值,此值将转换为字符串.现在尝试将此值从localStorage转换回布尔值,我需要使用JSON.parse()
方法,更方便的!!
不起作用.
代码示例:
var test = false;
localStorage['test'] = test;
console.log("JSON.parse returns: ", JSON.parse(localStorage['test']), "expected: ", test);
console.log("'!!' returns: ", !! localStorage['test'], "expected: ", test);
Run Code Online (Sandbox Code Playgroud)
我很困惑为什么会这样做.任何解释?
PS:使用getter/setter localStorage方法在这里无所谓,结果相同.
JSON.stringify()
保存对象时使用。如您所知,它将JavaScript值转换为JSON字符串,因此在JSON.parse()
正确使用其转换后的情况下。
localStorage['test'] = JSON.stringify(test);
Run Code Online (Sandbox Code Playgroud)