javascript - 无法使用 localStorage 手动生成 id

标签 javascript local-storage

我有一个表单字段数据的 data 对象,其中 id 键的初始值为空字符串。我正在尝试为每个提交的表单数据生成 ID 并保存在浏览器的存储中。即,data.id = generateEmployeeId(); 写在下面:

function generateEmployeeId() {
    if (localStorage.getItem(KEYS.employeeId === null)) {
        localStorage.setItem(KEYS.employeeId, '0');
    }
    // eslint-disable-next-line radix
    let id = parseInt(localStorage.getItem(KEYS.employeeId));
    localStorage.setItem(KEYS.employeeId, (id += 1).toString());
    return id;
}

但不幸的是,当我执行这段代码时,我得到了 NaN

注意:这里,KEYSemployeeId键值employeeId的对象

最佳答案

首先,您可能会更改第一个 if 语句,就好像您保留它一样,就像尝试从 localStorage 检索 bool 值一样。因为 KEYS.employeeId === null 将返回一个 bool 值。

然后,如果您方便的话,您可以将 id 保存为整数,而无需 parseInt()toString()

function generateEmployeeId() {
    if (localStorage.getItem(KEYS.employeeId) === null)
        localStorage.setItem(KEYS.employeeId, 0);

    let id = localStorage.getItem(KEYS.employeeId);
    localStorage.setItem(KEYS.employeeId, ++id);
    return id;
}

关于javascript - 无法使用 localStorage 手动生成 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66730959/

相关文章:

javascript - 检测子窗口何时加载 "each"时间

javascript - 为数组 JavaScript 中的每个对象执行任务

firefox - 更少的 CSS 和本地存储问题

javascript - 实现 HTML5 本地存储

javascript - jQuery设置属性值问题

javascript - 使用 jquery ajax json 发送表单数据

javascript - 如果值与组标签匹配,则选择下拉列表项?

javascript - 显式数组属性与 JavaScript 中的变量

javascript - 本地存储+二维数组

android - Phonegap 中的本地存储限制