evalで同期実行するよりscriptタグをappendChildして非同期実行するほうが速いか?
var testcode = "\ function dotest(){\ var start = +new Date();\ for(var i = 0; i < 1000000000; i++){\ }\ var end = +new Date();\ console.log(end - start);\ };dotest();"; eval(testcode); var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; script.innerHTML = testcode; head.appendChild(script);
コードを単にevalするのと、DOMツリーにscriptエレメントをappendChildして実行するのとどちらが早いか。結果は
- eval: 4085
- appendChild: 11464