从 localStorage 中删除:我应该使用 delete 还是 .removeItem?
Posted
技术标签:
【中文标题】从 localStorage 中删除:我应该使用 delete 还是 .removeItem?【英文标题】:Deleting from localStorage: should I use delete or .removeItem? 【发布时间】:2011-10-17 21:38:47 【问题描述】:我在 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。 【参考方案1】:Chrome 没有区别,但我建议使用 localStorage.removeItem(key) 以便您养成这样做的习惯。这样,当您在网站中使用 localStorage 时,您已经在使用最有可能与过时浏览器的填充程序和 polyfill 一起使用的方法。
【讨论】:
如果你正在为 localStorage 和 sessionStorage 寻找更漂亮的 API,试试这个:github.com/nbubna/store以上是关于从 localStorage 中删除:我应该使用 delete 还是 .removeItem?的主要内容,如果未能解决你的问题,请参考以下文章
如何从localStorage集合中删除Backbone模型
LocalStorage,遍历匹配的 ID,从 DOM 中删除