checking for not null not working with localStorage
本问题已经有最佳答案,请猛点这里访问。
1 2 3 4 5 6 7 8 9 10 11 | var test = null; if(test !== null){ console.log('should not be logged in the console');//it worked } localStorage.setItem('foo',null); console.log(localStorage.getItem('foo'));//logs null if(localStorage.getItem('foo') !== null){ console.log('should not be logged');//din't work, it's getting logged in the console } |
这似乎是本地存储的值NUL作为字符串NUL。所以,跟踪代码对我很好。
ZZU1
我还确保了为我工作的代码,设置了局部存储价值超过零。
这实际上不是一个答案。因为我们可以将本地存储值设置为字符串零太多。没有?
我知道我可以像
而且只有这样才能检查NULLY:
1 | if(variable === null && typeof variable ==="object") |
这可能是一个存储系统的错误?复制这个网站码到您的网站上以设置一个投票箱在您的网站上。
根据这个答案:在HTML5本地存储中存储对象
本地存储仅用于保存字符串键值对!
空对象为空。
所以这不是一个bug,而是预期的行为。
只能在本地存储中存储
因此,当您在本地存储中保存
要检查
例子:
1 2 3 4 5 6 7 8 | localStorage.setItem('foo', null); console.log(localStorage.getItem('foo')); //logs null as string console.log(typeof localStorage.getItem('foo')); //logs string if (localStorage.getItem('foo') != null) { // ^^ // Don't use strict comparison operator here console.log('Should work now!'); } |