我正在做一个有趣的编码挑战,我在聚会上发现了(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();
};
})();
我怀疑有更好的方法......实际上似乎正在放慢......
答案 0 :(得分:14)
'否定' while
循环应该稍快一些:
var i = 1000001;
while (--i) {
item.click();
}
选择一个: http://www.stoimen.com/blog/2012/01/24/javascript-performance-for-vs-while/
答案 1 :(得分:5)
JavaScript是单线程的,所以请保持简单:
for (var i = 0; i < 1000000; i++) {
item.click();
}
编辑:看起来@ romanperekhrest的答案可能会稍快一些,因为它使用了递减的while循环。