1

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

4

3 回答 3

2

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

于 2012-05-02T15:05:47.677 回答
1

不,你不会得到那么多性能。Ofc 如果你查询太多次,你应该。

于 2012-05-02T15:12:09.537 回答
1

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

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

于 2012-05-02T15:32:58.037 回答