Aetae,
function first(j){
var table = document.createElement('table')
var tr = table.appendChild(document.createElement('tbody')).appendChild(document.createElement('tr'));
for (var i = 1; i < j; i++) {
tr.appendChild(document.createElement('td'));
}
table1=table
}
function second(j){
var table = document.createElement('table')
var tr = table.insertRow();
for (var i = 1; i < j; i++) {
tr.insertCell();
}
table2=table
}
function third(j){
var table = document.createElement('table')
var str=""
for (var i = 1; i < j; i++) {
str+="<td></td>"
}
table.innerHTML=str
table3=table
}
Прогнал по 10000 раз (j=10000)
Из этих 3-х вариантов 2-й -- самый плохой. Опера вообще не понимает insertRow, хром:
//first: 27.000ms
//second: 1557.000ms
//third: 19.000ms
опера:
//first: 84ms (83812µsec)
//third: 24ms (23876µsec)
FF вроде ровно, в IE не проверял (как поставить новый IE на XP, кстати?). В любом случае, third заруливает на всем.