【发布时间】:2012-11-10 05:01:59
【问题描述】:
我正在使用 HTML5 构建我的第一个网络应用程序,专门针对 iPhone。
由于我对这方面还很陌生,因此我正在努力培养一些良好的编码习惯,遵循最佳实践,优化性能,并最大限度地减少资源受限 iPhone 上的负载。
我需要经常做的一件事...我有很多 div(每个都有一个唯一的 id),我经常更新(例如,使用 innerHTML)或修改(例如,使用 webkit 的样式属性转换和变换)。
一般来说 - 每次我需要一个 div 的句柄时我最好使用 getElementByID,还是应该在开始时将我访问的每个 div 的引用存储在“全局”变量中?
(我在引号中使用“全局”,因为我真的只有一个真正的 全局 变量 - 它是一个将我的所有“全局”变量存储为属性的对象)。
我假设每次使用 getElementByID 都必须有一些开销,因为该函数需要遍历 DOM 才能找到 div。但是,我不确定这个功能的繁重程度或效率。
使用全局变量来存储每个元素的句柄必须消耗一些内存,但我不知道这些引用是否只需要少量的 RAM,或者更多。
那么 - 哪个更好?或者,这两个选项是否会消耗如此微不足道的资源,以至于我应该担心哪个会产生更易读、更可维护的代码?
非常感谢!
【问题讨论】:
-
当我在闭包中工作时,我总是尝试保存对事物的引用并牢记范围。它肯定会加速你的 javascript。
标签: javascript html