如何检查是否设置了存储项目?

如何检查是否设置了项目localStorage目前我正在使用

if (!(localStorage.getItem("infiniteScrollEnabled") == true || localStorage.getItem("infiniteScrollEnabled") == false)) {
    // init variable/set default variable for item
    localStorage.setItem("infiniteScrollEnabled", true);
}
Itachi2020/03/24 18:59:23

如何测试其中的一项存在localStorage此方法适用于Internet Explorer。

<script>
    try{
        localStorage.getItem("username");
    }catch(e){
        alert("we are in catch "+e.print);
    }
</script>
Mandy2020/03/24 18:59:23

为真

localStorage.infiniteScrollEnabled = 1;

虚假

localStorage.removeItem("infiniteScrollEnabled")

检查存在性

if (localStorage[""infiniteScrollEnabled""]) {
  //CODE IF ENABLED
}
西里Green2020/03/24 18:59:23
if(!localStorage.hash) localStorage.hash = "thinkdj";

要么

var secret =  localStorage.hash || 42;
Itachi2020/03/24 18:59:23

如果该项不存在getItem,则WebStorage规范中方法显式返回null

...如果给定键在与对象关联的列表中不存在,则此方法必须返回null。...

这样你就可以:

if (localStorage.getItem("infiniteScrollEnabled") === null) {
  //...
}

请参阅以下相关问题:

卡卡西Near2020/03/24 18:59:23

如果要检查未定义内容,也可以尝试以下方法:

if (localStorage.user === undefined) {
    localStorage.user = "username";
}

getItem是一种方法,如果找不到值,则返回null。