我的应用程序在本地存储中包含一个名为token的变量。
我想编写一个代码来清除控制台并显示一个alert();同 上述变量。
这是我到目前为止所做的事情
clear(); if(localStorage){alert(localStorage.getItem("token"));}
但我一直收到localStorage未定义的错误。更确切地说:
未捕获的ReferenceError:未定义localStorage 在< anonymous>:1:12
有什么想法吗?
答案 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或未定义。