localStorage.removeItem 函数不删除项目

localStorage.removeItem function not removing items

本文关键字:删除项目 函数 removeItem localStorage      更新时间:2023-09-26

我创建了一个用于从本地存储中删除所有游戏数据的函数,但是当尝试在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");
}

而不是你做了什么,你可以改为

function HardReset(){
        localStorage.clear();
}

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

并证明返回值。

测试支持与可用性

支持 localStorage

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

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

其中一个例子是 野生动物园,它在隐私浏览模式下为我们提供了 一个配额为零的空本地存储对象,有效地使 它无法使用。我们的功能检测应将这些方案纳入 帐户。

使用 Web 存储 API

查看页面上的示例功能检测localStorage部分。也许 localStorage 属性对页面上的脚本不可用。

https://developer.mozilla.org/en-US/docs/Web/API/Storage/removeItem

localStorage.removeItem没有返回值。

您的函数HardReset也没有返回值。

在没有 return 语句的情况下,javascript 函数会返回什么?