2016-02-18 8 views
6

मुझे लगता है कि मैं एक बैठक के (doyouevendev.org)जावास्क्रिप्ट: एक तत्व क्लिक करने के लिए एक लाख गुना

क्या सबसे तेज़ तरीका एक लाख क्लिक उत्पन्न करने के लिए है पर पाया चुनौती कोडिंग इस मज़ा कर रहा हूँ सबसे तेज़ तरीका क्या है एक तत्व पर? कोडिंग चुनौती इंस्पेक्टर के चारों ओर केंद्रित है, जो मुझे सार्थक लग रही है।

मेरे कोड (है कि मैं क्रोम कमांड लाइन में क्रियान्वित कर रहा हूँ):

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(); 
    }; 
})(); 

मुझे लगता है वहाँ एक बेहतर तरीका है ... यह वास्तव में धीमा किया जा रहा है ...

+1

कैसे के बारे में यह कुछ धागे में विभाजित करने के लिए? – Viktor

+10

"एक लाख बार तत्व पर क्लिक करने का सबसे तेज़ तरीका क्या है" - बहुत सारे इंटर्न प्राप्त करें :) – max

+0

क्या आपका मतलब वेब श्रमिकों या कुछ समान स्थापित करना है? @ViktorDanilov –

उत्तर

15

'नकारात्मक'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

+0

क्रैश कर दिया गया है जो अधिक कुशल है? थोड़ी देर लूप या लूप के लिए? –

+0

जोड़ा गया लिंक देखें – RomanPerekhrest

+0

http://moduscreate.com/javascript-performance-tips-tricks/ – Viktor

5

जावास्क्रिप्ट है इसलिए एकल पिरोया इसे सरल रखें:

for (var i = 0; i < 1000000; i++) { 
    item.click(); 
} 

संपादित करें: क्योंकि यह एक decrementing जबकि पाश उपयोग कर रहा है @ romanperekhrest के जवाब की तरह लग रहा थोड़ा तेजी से हो सकता है।

+0

मेह की कोशिश करने से पहले इसका सहारा लिया। ऐसा लगता है कि इस साइट को –

संबंधित मुद्दे