【问题标题】:localStorage assignment vs. setItem() [duplicate]localStorage 分配与 setItem() [重复]
【发布时间】:2014-12-31 17:06:47
【问题描述】:

first results from a Google search 中的一个说此语法将用于 localStorage:

localStorage.lastname="Smith";

MDN 使用 .setItem() 和 .getItem(),我想如果浏览器不支持 localStorage,那么您可以使用 technique defined there 添加它。

但由于我的程序只在 iOS 上运行,我想我的问题是:

可以用吗

localStorage.lastname="Smith";

代替:

window.localStorage.setItem("lastname","Smith");

【问题讨论】:

  • 好吧,我不会相信 w3schools,尤其是在最佳实践方面...
  • 如果您只关心一个操作系统,为什么不简单地在那个操作系统上进行测试。这将消除对第三方来源准确性的任何怀疑。
  • 我会遵循规范:w3.org/TR/webstorage/#storage 如果设备不支持规范,我会使用 polyfill 使我的代码与规范保持一致。
  • 如果 getItem 和 setItem 现在可以工作,并且是标准 - 那么我会坚持使用它们。虽然对象语法现在可能适用于 iO,但您不能保证将来会继续这种情况 - 标准更有可能获得持续支持。

标签: javascript html local-storage


【解决方案1】:

虽然这两种方法都是有效的 JavaScript,

localStorage.lastName = "Smith";

像上面那样直接为键赋值有时会导致属性冲突。

window.localStorage.setItem("lastname","Smith");

另一方面,这是一种更好的做法。在使用本地存储时,MDN 和大多数其他资源都推荐这种方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 2012-10-17
    • 2020-07-18
    • 1970-01-01
    • 1970-01-01
    • 2018-10-01
    • 2016-04-25
    相关资源
    最近更新 更多