Javascript web应用程序中的全局变量与本地存储和内存问题
我想知道哪种练习会更好。使用全局变量污染全局命名空间以实现会话内持久化,还是改用本地存储 换句话说,在启动时设置一个全局变量,在需要时在函数中更改其值并在第三个函数中引用它,或者在不再需要该值时使用Javascript web应用程序中的全局变量与本地存储和内存问题,javascript,html,cordova,Javascript,Html,Cordova,我想知道哪种练习会更好。使用全局变量污染全局命名空间以实现会话内持久化,还是改用本地存储 换句话说,在启动时设置一个全局变量,在需要时在函数中更改其值并在第三个函数中引用它,或者在不再需要该值时使用localStorage.setItem然后使用localStorage.removietem 执行其中一项操作是否会提高内存效率?本地存储主要用于跨会话的持久数据。 在您的情况下,在寻找会话内持久性时,全局变量具有明显的优势 我将首先从全局变量的cons开始 它使用全局名称空间,任何第三方js代码
localStorage.setItem
然后使用localStorage.removietem
执行其中一项操作是否会提高内存效率?本地存储主要用于跨会话的持久数据。 在您的情况下,在寻找会话内持久性时,全局变量具有明显的优势 我将首先从全局变量的cons开始
- 它使用全局名称空间,任何第三方js代码都可以对其进行操作
- 页面刷新可以擦除您的数据
- 设置和获取速度较慢,可能成为大型数据集的性能瓶颈
- 只允许使用字符串;在设置之前,您可能必须序列化数据
这篇文章可能有帮助:
现在考虑在Dr.O/P>之类的框架中使用DI来检查这个测试。