Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Οταν μια συναρτηση καλεσει τον εαυτο της, στην ουσια φτιαχνει μια διεργασια παιδι και τρεχουν παραλληλα, η σταματαει να τρεχει ο πατερας και τρεχει μονο το παιδι? 

 

Ρωταω γιατι εχω δημιουργησει ενα χρονομετρο που μετραει αντιστροφα 10sec σε javascript, και οταν τερματισει, αρχιζει παλι να μετραει απο τα 20sec μετα απο τα 30sec κτλπ. Και παρατηρω οτι οταν περασουν τα πρωτα 10sec αρχιζει και κανει κατι περιεργα δλδ περναει τους αριθμους δυο-δυο κολλαει κτλπ

Δημοσ.

Ακριβώς, το recursion έχει αρκετές ιδιαιτερότητες  (ειδικά για js δες και tail calls optimization) αλλά τα περίεργα που αναφέρεις 99% έχουν να κάνουν με τον κώδικά σου, πχ πολύ πρόχειρα μια περίπτωση αυτού που περιγράφεις

 var initSecs = 10;

 function countDown(secs) {
   document.getElementById('counter').textContent = secs;
   if (secs > 0) {
    secs -= 1;
    setTimeout(function() {
      countDown(secs);
    }, 1000);
   } else {
     initSecs += 10;
     setTimeout(function() {
       countDown(initSecs);
     }, 1000);
   }
 }

 countDown(10);

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...