gpt4 book ai didi

javascript - Web 应用程序中的全局变量 VS localStorage 和内存问题

转载 作者:太空狗 更新时间:2023-10-29 13:31:03 25 4
gpt4 key购买 nike

我想知道哪种做法更好。使用全局变量污染全局命名空间以实现 session 内持久性或改用 localStorage?

换句话说,在启动时设置一个全局变量,在需要时在函数中更改它的值并在第三个函数中引用它,或者使用 localStorage.setItem 然后使用 localStorage.removeItem 何时不再需要该值?

做任何一个都会提高内存效率吗?

最佳答案

LocalStorage 主要用于跨 session 的持久数据。在您的情况下,当您寻找 session 内持久性时,全局变量具有明显的优势。

我将从全局变量的缺点开始。

  • 它使用全局命名空间,任何第三方js代码都可以操纵它
  • 页面刷新可以清除您的数据

嗯,就是这样。如果我们考虑 LocalStorage 的缺点,这个列表会让您大吃一惊。

  • set 和 get 速度慢,可能成为大型数据集的性能瓶颈
  • 只允许使用字符串;您可能需要在设置之前序列化您的数据

如果您的用例涉及 session 间 存储,我肯定会投票支持 LocalStorage。但是,在您的场景中,您看到的唯一好处是 removeItem 函数,您拥有全局变量的删除副本。

这篇文章可能会有帮助:http://www.sitepoint.com/html5-browser-storage-past-present-future/

关于javascript - Web 应用程序中的全局变量 VS localStorage 和内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27302568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com