在javascript编程中尝尝需要访问到数据的一些属性,再循环语句中,
尝尝用someData.length来控制循环。例如:
- //优化前的列表遍历
-
- var listData = document.getElementsByTagName("li");
-
- for(var i = 0; i < listData.length; i++)
-
- {
-
- //对listData进行操作
-
- }
在例子中listData是一个HTML容器对象,每当调用listData.length时,都要重新计算一次document.getElementsByTagName("li");然后在获得对象的length。这就增加了代码运行的复杂度。
如果循环中不会对DOM树进行修改的话,我们所要做的就是,在循环调用开始前,把对象的长度缓存起来:
- //优化后的代码
-
- var listData = document.getElementByTagName("li");
-
- for(var i = 0, len = listData.length; i < len; i++)
- {
-
- //对listData进行操作
-
- }