>Просто если не объявить переменную ```temp```, скрипт писал бы в ```window.temp```

Да, потом я посмотрел на твои такие конструкции и убедился, что ты во всех случаях заранее ```temp``` объявлял, а я этот момент как-то проглядел.
Пасиба за конструктив, все учту :3