【问题标题】:Deleting from localStorage: should I use delete or .removeItem?从 localStorage 中删除:我应该使用 delete 还是 .removeItem?
【发布时间】:2023-03-24 19:19:01
【问题描述】:

我在 Chrome 扩展程序中使用localStorage

delete localStorage[key]window.localStorage.removeItem(key) 之间有什么区别,或者它们的行为相同吗?

请注意,我选择window.localStorage.removeItem(key)spec 完全对应,但localStorage.removeItem(key) 可能是它在野外的样子。

【问题讨论】:

  • 不需要指定window,因为这是我按下的原生JS函数。
  • localStorage 是窗口的属性,不是 JS 的。例如,iframe 将拥有自己的本地存储。换句话说,localStorage 是 HTML 规范的一部分,而不是 ES 规范的一部分。您不需要指定 window 的原因是它是全局对象。全局对象是 ES 规范的一部分:tc39.github.io/ecma262/#sec-global-object

标签: google-chrome local-storage


【解决方案1】:

Chrome 没有区别,但我建议使用 localStorage.removeItem(key) 以便您养成这样做的习惯。这样,当您在网站中使用 localStorage 时,您已经在使用最有可能与过时浏览器的填充程序和 polyfill 一起使用的方法。

【讨论】:

  • 如果你正在为 localStorage 和 sessionStorage 寻找更漂亮的 API,试试这个:github.com/nbubna/store
猜你喜欢
  • 1970-01-01
  • 2011-01-12
  • 1970-01-01
  • 1970-01-01
  • 2017-03-05
  • 1970-01-01
  • 2011-01-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多