Wie man globale Variablen vermeidet, wird z. B. hier beschrieben:
https://stackoverflow.com/questions/1841…s-in-javascript
Eine Möglichkeit, die ich selber gern anwende ist, die Werte in data-Attributen zu speichern, z. B. so bei den Clicks:
//clicks = 0;
document.getElementById("score").innerHTML = 0;
document.getElementById("score").setAttribute("data-clicks", 0);
document.getElementById("endscore").innerHTML = 0;
// und im weiteren Verlauf:
document.getElementById("score").setAttribute("data-clicks", parseInt(document.getElementById("score").getAttribute("data-clicks")) + 1);
Hier bietet es sich sofort an, das Element #score nur einmal zu ermitteln, aber dann muss man Obacht geben, dass man nicht wieder eine globale Variabel erzeugt.