正文
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');