为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

有只小跳蛙 2019-10-06 13:19:06
如何检查是否设置了项目localStorage?目前我正在使用if (!(localStorage.getItem("infiniteScrollEnabled") == true || localStorage.getItem("infiniteScrollEnabled") == false)) {    // init variable/set default variable for item    localStorage.setItem("infiniteScrollEnabled", true);}
查看完整描述

4 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

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


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


所以你可以:


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

  //...

}


查看完整回答
反对 回复 2019-10-06
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

您可以使用hasOwnProperty方法进行检查


> localStorage.setItem('foo', 123)

undefined

> localStorage.hasOwnProperty('foo')

true

> localStorage.hasOwnProperty('bar')

false

适用于当前版本的Chrome(Mac),Firefox(Mac)和Safari。


查看完整回答
反对 回复 2019-10-06
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

如果密钥不在存储中,最短的方法是使用默认值:


var sValue = localStorage['my.token'] || ''; /* for strings */

var iValue = localStorage['my.token'] || 0; /* for integers */


查看完整回答
反对 回复 2019-10-06
?
RISEBY

TA贡献1856条经验 获得超5个赞

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


if (localStorage.user === undefined) {

    localStorage.user = "username";

}

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


查看完整回答
反对 回复 2019-10-06
  • 4 回答
  • 0 关注
  • 442 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信