localstorage的控制台脚本问题

时间:2017-11-21 07:15:22

标签: javascript local-storage

我的应用程序在本地存储中包含一个名为token的变量。

我想编写一个代码来清除控制台并显示一个alert();同 上述变量。

这是我到目前为止所做的事情

clear(); if(localStorage){alert(localStorage.getItem("token"));}

但我一直收到localStorage未定义的错误。更确切地说:

  

未捕获的ReferenceError:未定义localStorage       在< anonymous>:1:12

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我没有代码的完整上下文,但如果未定义localStorage,则无法检查是否定义了值。 例如,对于任何变量都是如此,如果您没有定义变量bla,则以下代码将抛出相同的错误:     if(bla)console.log(bla);

您应该使用if (typeof localStorage !== "undefined")代替。

此外,您的浏览器不一定支持localStorage,因此您应该先检查一下。使用try-catch在使用localStorage时也是一个好主意。

答案 1 :(得分:0)

在某些情况下,您不能将“ localStorage”用作布尔值。

如吉拉德·巴(Gilad Bar)所建议,请改用if (typeof localStorage !== "undefined")

此外,请确保“令牌”不是null或未定义。