【可能的错误】在性能优化中,8-6课时第9:00分钟的DOM查询缓存。

来源:21-6 性能优化 - 几个示例

qq_朕知道了_1

2017-09-03

老师列举的方式无法缓存。

需要var length=pList.length;才能缓存生效。

图一,图二为老师的代码,无法缓存DOM查询。如果不加限制,代码将无限制执行。 

图三,图四为改进过的代码,可以缓存DOM查询。


http://szimg.mukewang.com/59aad75200015eba09090498.jpg

http://szimg.mukewang.com/59aad7520001c0aa07560720.jpg




第二种方式,var length=myp.length;可以缓存。

http://szimg.mukewang.com/59aad5cd00013fcf09220520.jpg

http://szimg.mukewang.com/59aad5f80001715207420549.jpg

老师讲课的课件截图如下:

http://szimg.mukewang.com/59acac6400014f9c13610668.jpg


写回答

1回答

双越

2017-09-03

所以才证明了 var length=pList.length; 每次执行的时候,都会去DOM树中重新查找一遍,比较耗费性能

0
2
ayoualing
回复
qq_朕知道了_1
老师只缓存了dom元素,没有缓存length
2017-09-07
共2条回复

BAT大牛带你横扫初级前端JavaScript面试(第二版)

BAT高级前端工程师亲授,结合真实面试题,提高面试成功几率

4268 学习 · 817 问题

查看课程