【问题标题】:Why the getItem method of Local Storage object has been used before setItem in following JS code?为什么在下面的 JS 代码中,在 setItem 之前使用了 Local Storage 对象的 getItem 方法?
【发布时间】:2021-06-18 10:57:22
【问题描述】:

https://github.com/john-smilga/javascript-basic-projects/blob/master/14-grocery-bud/final/app.js#L6

以下代码是从上面的链接编写的。此代码的完整版本在链接中。我的问题是为什么在设置Item之前使用getItem方法,这背后的逻辑是什么?

谢谢。

function addToLocalStorage(id, value) {
  const grocery = { id, value };
  let items = getLocalStorage();
  items.push(grocery);
  localStorage.setItem("list", JSON.stringify(items));
}

function getLocalStorage() {
  return localStorage.getItem("list")
    ? JSON.parse(localStorage.getItem("list"))
    : [];
}
``

【问题讨论】:

  • 需要读取当前值来添加,而不是替换值
  • 是“提升”的答案?它是一个javascript语言特性
  • @binliu - 绝对与吊装无关
  • 哦,你想说为什么可以在addToLocalStorage中获取物品吗?因为如果它不存在;你可以得到一个空数组 []

标签: javascript dom local-storage


【解决方案1】:

因为代码背后的意图是将项目添加到本地存储中的数组中。您获取数组,或者如果它不存在则创建一个新数组。您将一个项目推送到它上面,然后将其保存回本地存储。

【讨论】:

  • 感谢您的回复。我明白了重点。现在我的概念很清楚了。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-15
  • 2010-10-31
  • 2023-03-15
相关资源
最近更新 更多