首页 > 解决方案 > Javascript本地存储条件没有响应

问题描述

我正在测试是否存在本地存储密钥。

所以首先我做了一个console.log来看看里面的值是什么......

console.log(localStorage.getItem('mykey'));

这返回null

所以我这样做是为了一个条件:

if (localStorage.getItem('mykey') === null) {
    console.log('It is null');
}

但是虽然我知道它是空的,但它没有显示:

console.log('It is null');

问题可能是什么?

标签: javascriptlocal-storage

解决方案


更新

原来的帖子localStorage.getItem('mykey') === null实际上是true在 Chrome 上返回的,所以它可能是与浏览器相关的问题。

因此,通过使用带有 double equal 的第一个建议解决方案==,可能会获得更好的跨浏览器支持,尽管第 2/3 个选项可能会更好。

如果键不存在,则返回值是一个objectbeing null,它与类型 ( )完全相同===null

要么放下一个=(它会自动施放),它就会起作用

if (localStorage.getItem('mykey') == null) {
  console.log('It is null');
}

或者干脆做类似的事情

if (!localStorage.getItem('mykey')) {
  console.log('It is null');
}

或(如图所示)可能会更好(实际上可能是骗子)

if (!localStorage.hasOwnProperty('mykey')) {
  console.log('It is null');
}

推荐阅读