Pratica con timer e manipolazione del DOM in JavaScript

Supponiamo di avere un input:

html<input id="elem" value="1">

Creiamo un timer che aumenti il valore dell'attributo value del nostro input di uno ogni secondo:

javascriptlet elem = document.querySelector('#elem');

setInterval(function() {
  elem.value = Number(elem.value) + 1;
}, 1000);
Задание 1

Spiegate perchè nel codice sopra viene utilizzata la funzione Number. Cosa succederebbe se questa funzione non venisse utilizzata nel codice?

Задание 2

Supponiamo che nell'input nell'attributo value sia inizialmente scritto il numero 10. Avviate un timer che diminuisca questo numero di uno ogni secondo.

Задание 3

Modificate il problema precedente in modo che, non appena il contenuto dell'input diventi zero, il timer interrompa il suo funzionamento.