代码也很简单就是循环创建N个li
但是这么循环创建会有问题 ,因为ul这个节点已经在html当中充当一个静态元素了,给这个静态元素不断循环放入li,就会形成10次的重绘重排,会影响性能要尽量减少重绘重排的次数
DOM提供了一个API,【document.createDocumentFragment】
从字面上就很好理解,create创建--document文档--Fragment碎片,创建文档碎片,
它就是一个碎片容器,以本案例为例,也就是说可以把循环出来的 li 交给这个碎片容器,
这个碎片容器它是不占据DOM节点的结构,它只是一个容器,所以当你创建碎片容器的时候,它也不在你DOM节点里面
所以可以通过这个API声明一个文档碎片,然后每次循环创建 li 的时候就不要把 li 直接放给正在HTML文档流充当静态元素的 ul,那给谁呢?给这个文档碎片容器
这样这个文档碎片容器里面就存着循环创建的10个li,
最后在循环走完之后,再把这个存有10个li的文档碎片,给这个ul,就只会造成一次重绘重排