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

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


if (!(localStorage.getItem("infiniteScrollEnabled") == true || localStorage.getItem("infiniteScrollEnabled") == false)) {

    // init variable/set default variable for item

    localStorage.setItem("infiniteScrollEnabled", true);

}


有只小跳蛙
浏览 445回答 4
4回答

慕运维8079593

如果该项不存在getItem,则WebStorage规范中的方法显式返回null:...如果给定键在与对象关联的列表中不存在,则此方法必须返回null。...所以你可以:if (localStorage.getItem("infiniteScrollEnabled") === null) {  //...}

尚方宝剑之说

您可以使用hasOwnProperty方法进行检查> localStorage.setItem('foo', 123)undefined> localStorage.hasOwnProperty('foo')true> localStorage.hasOwnProperty('bar')false适用于当前版本的Chrome(Mac),Firefox(Mac)和Safari。

幕布斯6054654

如果密钥不在存储中,最短的方法是使用默认值:var sValue = localStorage['my.token'] || ''; /* for strings */var iValue = localStorage['my.token'] || 0; /* for integers */

RISEBY

如果要检查未定义内容,也可以尝试以下方法:if (localStorage.user === undefined) {    localStorage.user = "username";}getItem是一种方法,如果找不到值,则返回null。
打开App,查看更多内容
随时随地看视频慕课网APP