Versteh ich nicht. Ist es, weil es zu exzessiver Nutzung und damit zu Speicherproblemen kommen kann? Das sollte doch aber selbst bei größeren Projekten nicht der Fall sein dürfen, oder?
Speicher braucht man mit globalen Variablen eher weniger, darum geht es nicht.
Es ist zum einen die Kapselung von Daten und zum anderen geht es darum den Globalen Namensraum sauber zu halten um Konflikte zw. mehreren Scripten zu vermeiden.
Dann ist der Code auch leichter zu verstehen, wenn man die Funktionen und deren gemeinsamme Daten an einem Objekt zusammenfasst(das ist bei diesem kleinen Beispiel zwar nicht ganz so der Fall, würde aber auch nicht schaden).