Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Создание таблиц циклом (https://javascript.ru/forum/misc/48866-sozdanie-tablic-ciklom.html)

newobject 20.07.2014 10:56

test=function(fu, i){
console.time(fu.name)
while(i--){fu()}
console.timeEnd(fu.name)
}




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
}

i=1
j=10000
test(function frst(){first(j)}, i)
test(function scd(){second(j)}, i)
test(function thd(){third(j)}, i)

document.body.appendChild(table1)
document.body.appendChild(table2)
document.body.appendChild(table3)

Aetae 20.07.2014 11:25

Таки да http://jsperf.com/table-create-vs .
Только вот ie8 пока ещё актуален.

рони 20.07.2014 11:26

newobject,
15 строка чтоб first подольше выполнялась?

Aetae 20.07.2014 11:28

рони, та-а, опечатка. Там надо пару миллиардов итераций что оно сказалось.)

newobject 20.07.2014 11:42

Цитата:

Сообщение от рони
15 строка чтоб first подольше выполнялась?

Исправил, прошу прощения :)

Davert Tanz 20.07.2014 16:43

Ребят, всем спасибо. Все прочитаю, во всем разберусь! Спасибо за исчерпывающую информацию!:)


Часовой пояс GMT +3, время: 02:37.