我创建了一个从localStorage中删除所有游戏数据的功能,但是当尝试在chrome开发者控制台中使用该功能时,它返回undefined
似乎无法找出原因
修改
我忘记了回归可能会让一些资深开发者对我的意思感到困惑
我的观点是在运行函数undefined
之后在控制台中显示HardReset()
并且游戏中没有任何内容实际重置
编辑:主要问题是该功能实际上并未从存储中删除项目
/*
---------------------
Reset Entire Game
---------------------
*/
function HardReset(){
localStorage.removeItem("money");
localStorage.removeItem("level");
localStorage.removeItem("exp");
localStorage.removeItem("clickIncrement");
localStorage.removeItem("clicksTotal");
localStorage.removeItem("HTMLSupport");
localStorage.removeItem("CSSSupport");
localStorage.removeItem("HTMLCoderCost");
localStorage.removeItem("HTMLCoderOwned");
localStorage.removeItem("CSSCoderCost");
localStorage.removeItem("CSSCoderOwned");
}
答案 0 :(得分:0)
https://developer.mozilla.org/en-US/docs/Web/API/Storage/removeItem
localStorage.removeItem
没有返回值。
您的函数HardReset
也没有返回值。
What does javascript function return in the absence of a return statement?
答案 1 :(得分:0)
测试支持与可用性
支持localStorage的浏览器将在名为localStorage的窗口对象上具有属性。但是,由于各种原因,仅断言该属性存在可能会抛出异常。
如果确实存在,那仍然无法保证localStorage 实际可用,因为各种浏览器提供禁用的设置 localStorage的。因此浏览器可能支持localStorage,但不支持 可用于页面上的脚本。
其中一个例子是Safari,它以私密浏览模式为我们提供 一个空的localStorage对象,配额为零,有效地制作 它无法使用。我们的功能检测应该采用这些方案 帐户。
请参阅页面上的示例功能检测localStorage部分。 可以在页面上的脚本中找不到localStorage属性。
答案 2 :(得分:0)
您可以直接更改为
,而不是您所做的function HardReset(){
localStorage.clear();
}
localStorage.clear()将清除localStorage中的所有内容
并证明返回值。