无法使用.removeItem删除LocalStorage项目

时间:2017-07-11 22:17:47

标签: javascript local-storage

我正在尝试使用.removeItem(键)删除localStorage,但是它表示未定义localStorage键。我正在尝试再次创建一个简单的localStorage,如下所示,然后再次尝试removeItem,仍然是同样的问题。怎么了?

<html>
<head>
    <script>
        localStorage.test = "good";
        console.log(localStorage.test);
        localStorage.removeItem(test);
    </script>
</head>

浏览器说,“Uncaught ReferenceError:test not defined”。我正在尝试使用window.localStorage.clear(),这是有效的,但我想指定我想删除哪个localStorage。

1 个答案:

答案 0 :(得分:5)

您遇到错误的原因是,test在代码范围内不可用(当您尝试访问尚未定义的变量时,将引发引用错误)。在您的情况下,它存在于localStorage.test,因为您将它直接附加到localStorage对象。

如果您使用了localStorage.removeItem(localStorage.test);,则不会遇到错误。

直接在localStorage对象上设置属性并不是一个好主意。 而是使用setItem将数据存储在本地存储中。

var value = "good";

localStorage.setItem('test', value); // set the item

console.log(localStorage.getItem('test')); // retrieve the item

localStorage.removeItem('test');  // delete the item

setItemgetItemremoveItem中,第一个参数是您要存储或检索或从存储中删除的key。在这种情况下,密钥的名称是test