Показать сообщение отдельно
Старый 04.07.2019, 05:05   #7
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Ответ: JS Замыкания vs глобальные переменные vs сборщик мусора (тупой вопрос))

Да нет же. В твоём примере проблема в том, что ты делаешь постинкремент. То есть ты возвращаешь из функции предыдущее значение счётчика.

В общем глобальные переменные не нужно использовать хотя бы по той же причине, по которой это осуждается в других языках. Я, например, любой используемый код на html страницах оборачиваю в:

(function() {
  
// Здесь код
})(); 
Чтобы все используемые переменные не захламляли глобальный контекст.

Кстати сказать, функции являются переменными-объектами. Ты можешь даже свойства им назначать. Например:

function ololo() {
  
console.log(ololo.prop);
}

ololo.prop "OLOLO";

ololo(); 
(Offline)
 
Ответить с цитированием