专栏名称: 前端JavaScript
分享 | 学习 | 交流 | 原创 分享是学习的开始;学习不必要从头开始,是从现在开始;交流能沟通你我,提高你的学识;期待你的加入!!! web前端技术交流,JavaScript,HTML5,CSS3……
目录
相关文章推荐
51好读  ›  专栏  ›  前端JavaScript

[S3-E374]定时器学习:利用定时器分解耗时任务案例

前端JavaScript  · 公众号  · Javascript  · 2017-06-29 06:35

正文

请到「今天看啥」查看全文



var allLines = 10000;

// 每次渲染的行数


console.time('wd');

for(var i=0; i

var tr = document.createElement('tr');


for(var j=0; j<10; j++){

var td = document.createElement('td');


td.appendChild(document.createTextNode(i+','+j));

tr.appendChild(td);

}


tbody.appendChild(tr);

}

console.timeEnd('wd');



总共耗时180ms, 浏览器已经给出警告![Violation] 'setTimeout' handler took 53ms。



分批次动态创建

<p style="line-height: 2em;"/><p style="line-height: 2em;"/><p><br/></p><p style="line-height: 2em;"/><table><p style="line-height: 2em;">    </p><tbody/><p style="line-height: 2em;"/></table><p><br/></p><p style="line-height: 2em;"><script type="text/javascript"/></p><p style="line-height: 2em;">    var tbody = document.getElementsByTagName('tbody')[0];</p><p><br/></p><p style="line-height: 2em;">    var allLines = 10000;</p><p style="line-height: 2em;">    // 每次渲染的行数</p><p style="line-height: 2em;">    var everyTimeCreateLines = 80;</p><p style="line-height: 2em;">    // 当前行</p><p style="line-height: 2em;">    var currentLine = 0;</p><p><br/></p><p style="line-height: 2em;">    setTimeout(function renderTable(){</p><p style="line-height: 2em;">        console.time('wd');</p><p style="line-height: 2em;">        for(var i=currentLine; i<currentline i=""><p style="line-height: 2em;">            var tr = document.createElement('tr');






请到「今天看啥」查看全文