我需要缓存localStorage吗?

时间:2012-05-02 15:01:40

标签: javascript

如果我循环并引用保存在localStorage中的变量,是否应该创建一个本地范围的变量(在循环外)并将其设置为等于localStorage变量以获得性能原因?

3 个答案:

答案 0 :(得分:2)

这可能会变成微优化,除非你经常访问它并且它占用你的循环的大部分。

答案 1 :(得分:1)

不,你不会得到那么多的表现。如果你要查询太多次,你应该这样做。

答案 2 :(得分:1)

如果在函数内多次引用相同的本地存储值,则在该函数的持续时间内将其分配给局部变量。这与需要一些工作来检索的任何其他值(例如DOM中的输入字段的值)没有什么不同。如果在同一函数中多次需要该值,则将其值放在局部变量中并从那里使用它。您的代码可能更紧凑,执行速度也更快。

没有理由将其全局缓存在持久性全局变量中,因为它已经可以从本地存储全局访问,因此实际上没有理由为它添加新的全局变量。只需检索您需要的每个函数中的值。我能想到的唯一例外是在极少数情况下的微观性能优化。一般来说,最好不要制作已经全球可用的东西的全局副本。