Μετρητής μέσω της συνάρτησης setInterval σε JavaScript
Φυσικά, δεν είναι πολύ ενδιαφέρον το γεγονός ότι ο
χρονομετρητής μας εκτυπώνει κάθε φορά το ίδιο πράγμα. Ας
περιπλέκουμε το έργο μας και ας κάνουμε έτσι ώστε
κάθε δευτερόλεπτο στην κονσόλα να εκτυπώνονται αριθμοί
με αύξουσα σειρά: πρώτα 1, μετά 2,
μετά 3 και ούτω καθεξής.
Για αυτό θα χρειαστούμε μια μεταβλητή-μετρητή, που θα αποθηκεύει τις τιμές της μεταξύ των εκτελέσεων της συνάρτησης. Δεν είναι δύσκολο να καταλάβει κανείς, ότι μπορούμε απλά να φτιάξουμε μια καθολική μεταβλητή:
let i = 0; // καθολική μεταβλητή
setInterval(function() {
i++;
console.log(i);
}, 1000);
Ας το ξαναγράψουμε πιο συμπαγή:
let i = 0;
setInterval(function() {
console.log(++i);
}, 1000);
Ή ακόμα πιο συμπαγή μέσω arrow function:
let i = 0;
setInterval(() => console.log(++i), 1000);
Ας υποθέσουμε ότι δίνεται μια μεταβλητή, στην οποία αρχικά
αποθηκεύεται ο αριθμός 100. Εκκινήστε έναν χρονομετρητή,
ο οποίος κάθε δευτερόλεπτο θα μειώνει την τιμή
αυτής της μεταβλητής κατά 1 και θα εκτυπώνει αυτήν την
τιμή στην κονσόλα.