如果没有localStorage键值,我试图隐藏我的div。
使用下面的行我只能在localStorage键被完全删除时隐藏div但是如果localStorage 键没有任何值则需要执行相同的操作
window.localStorage.getItem('items') === null
如何执行?
答案 0 :(得分:6)
您可以使用OR
运算符||
var items = window.localStorage.getItem('items')
if (items === null || items.length === 0)
{
// items is null, [] or '' (empty string)
}
如果您还必须在某处检查undefined
,可以将=== null
更改为== null
或使用此类额外条件进行扩展
if (items === undefined || items === null || items.length === 0)
{
// items is undefined, null, [] or '' (empty string)
}
编辑:以下是您可以直接获取数组的方法
var items = JSON.parse(window.localStorage.getItem('items'))
if (items === null || items.length === 0)
{
// items is null or []
}
答案 1 :(得分:3)
简单地说:
if (!localStorage.nameOfYourLocalStorage) {
// do the following if the localStorage.nameOfYourLocalStorage does not exist
}
它如何有用的一个例子:
if (!localStorage.nameOfYourLocalStorage) {
localStorage.nameOfYourLocalStorage = defaultValue;
}
这里脚本将检查localStorage名称是否不存在,如果不存在,它将使用默认值创建它。
如果您希望它在 存在时执行,您可以在if块之后添加 else 以继续,或删除'!< / strong>'来自 if block 条件。
答案 2 :(得分:1)
Storage.prototype.has = function(key) {
return (key in this && !(key in Storage.prototype));
};