Javascript:点击元素一百万次的最快方法是什么

时间:2016-02-18 19:23:13

标签: javascript

我正在做一个有趣的编码挑战,我在聚会上发现了(doyouevendev.org)

在元素上产生一百万次点击的最快方法是什么?编码挑战似乎以检查员为中心,我觉得这是值得的。

我的代码(我在chrome命令行中执行):

var item = document.getElementsByClassName("clicky-button pulse");
var item = item[0];
count = 0;
(function clickIt() {
    count += 1
    setInterval(function changeClicks() {
        item.click();
    }, 1);
    if (count <= 50) {
        clickIt();
    };
})();

我怀疑有更好的方法......实际上似乎正在放慢......

2 个答案:

答案 0 :(得分:14)

'否定' while循环应该稍快一些:

var i = 1000001;
while (--i) {
   item.click();
}

选择一个: http://www.stoimen.com/blog/2012/01/24/javascript-performance-for-vs-while/

Javascript Performance: While vs For Loops

答案 1 :(得分:5)

JavaScript是单线程的,所以请保持简单:

for (var i = 0; i < 1000000; i++) {
    item.click();
}
编辑:看起来@ romanperekhrest的答案可能会稍快一些,因为它使用了递减的while循环。