localStorage.removeItem函数不删除项目

时间:2016-07-09 05:26:46

标签: javascript local-storage

我创建了一个从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");
}

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

测试支持与可用性

  

支持localStorage的浏览器将在名为localStorage的窗口对象上具有属性。但是,由于各种原因,仅断言该属性存在可能会抛出异常。

     

如果确实存在,那仍然无法保证localStorage   实际可用,因为各种浏览器提供禁用的设置   localStorage的。因此浏览器可能支持localStorage,但不支持   可用于页面上的脚本。

     

其中一个例子是Safari,它以私密浏览模式为我们提供   一个空的localStorage对象,配额为零,有效地制作   它无法使用。我们的功能检测应该采用这些方案   帐户。

Using the Web Storage API

请参阅页面上的示例功能检测localStorage部分。 可以在页面上的脚本中找不到localStorage属性。

答案 2 :(得分:0)

您可以直接更改为

,而不是您所做的
function HardReset(){
        localStorage.clear();
}

localStorage.clear()将清除localStorage中的所有内容

并证明返回值。