1、对比对象:queryselector queryselectorAll getElementsByClassName getElementById
测试方法:
$.querySelector('.test1').innerHTML=''; console.time('querySelector'); for(let i=0;i<times;i++){ $.querySelector('.test1').innerHTML='5'; } console.timeEnd('querySelector'); $.querySelector('.test1').innerHTML=''; console.time('querySelectorAll'); for(let i=0;i<times;i++){ $.querySelectorAll('.test1')[0].innerHTML='5'; } console.timeEnd('querySelectorAll'); $.querySelector('.test1').innerHTML=''; console.time('getElementsByClassName'); for(let i=0;i<times;i++){ $.getElementsByClassName('test1')[0].innerHTML='5'; } console.timeEnd('getElementsByClassName'); $.querySelector('.test1').innerHTML=''; console.time('getElementById'); for(let i=0;i<times;i++){ $.getElementById('test1').innerHTML='5'; } console.timeEnd('getElementById');
测试结果(此处只在MAC下使用chrome测试,严格的结果应当在多终端多浏览器下测试对比):
queryselector (ms) :1611 1666 1623 1652 1655 1662 1664 average 1651
queryselectorAll (ms) : 2373 2364 2576 2521 2399 2527 2547 average 2473
getElementsByClassName (ms) : 1700 1792 1828 1803 1802 1827 1783 average 1801
getElementById (ms) : 1553 1606 1602 1566 1552 1574 1597 average 1578