我想知道哪种方法更好。使用全局变量对会话内持久性进行污染全局命名空间,还是使用localStorage?
换句话说,在启动时设置一个全局变量,在需要时在函数中更改其值并在第三个函数中引用它,或者在不再需要值时使用localStorage.setItem
然后localStorage.removeItem
?
是否会提高内存效率?
答案 0 :(得分:4)
LocalStorage主要用于跨会话的持久数据。 在您的情况下,当您寻找会话内持久性时,全局变量具有明显的优势。
我将首先从全局变量开始。
嗯,就是这样。如果我们考虑LocalStorage的缺点,该列表将引起你的注意。
如果您的用例涉及会话间存储,我肯定会投票支持LocalStorage。但是,在您的场景中,您看到的唯一好处是removeItem函数,您可以为全局变量删除对应函数。
这篇文章可能会有帮助:http://www.sitepoint.com/html5-browser-storage-past-present-future/
答案 1 :(得分:0)
现在考虑在Angular之类的框架中使用DI。