vision 0.7 【耗时2210ms】
最后的一个版本的调优就是给单元格赋值的方式。在所有的示例中,创建了一个TextNode,并添加给TD。而在这个版本中我们将使用innerText代替插入一个text节点,代码调整为:
td.innerText = "Text";
(注意:innerText只在IE中受支持,属于IE扩展,兼容FireFox可使用innerHTML,但是innerHTML正如文章开头所说的,效率非常低下,不建议使用)
<html> <body > <script defer> function init() { var _table, _tbody, tr, td, text, maxRow, maxCol; var docBody = document.body; var _doc = document; maxRow = 3000; maxCol = 8; _table = _doc.createElement("table"); _table.border = "1"; _table.style.tableLayout = "fixed"; _tbody = _doc.createElement("tbody"); docBody.insertBefore(_table, null); _table.insertBefore(_tbody, null); for (var i=0; i<maxRow; i++) { tr = _doc.createElement("tr"); _tbody.insertBefore(tr, null); for(var j = 0; j<maxCol; j++){ td = _doc.createElement("td"); td.innerText = "Text"; tr.insertBefore(td, null); } } } </script> </body> </html> |