Глобальные переменные в JS 
		
		
		
		<div id="my"></div> 
var ClickCounter = 0;
document.addEventListener("click", function(e) {
    ClickCounter++;
    document.getElementById('my').innerHTML = ClickCounter;
});
Говорят глобальные переменные это зло. Как в этом случае сделать не глобальной переменную ClickCounter?  | 
	
		
 Оберни это в анонимную функцию 
	
(function() {
  var ClickCounter = 0;
 
  document.addEventListener("click", function(e) {
      ClickCounter++;
      document.getElementById('my').innerHTML = ClickCounter;
  });
})();
 | 
	
		
 Замыкание тебе в помощь :) 
	
<!DOCTYPE html>
<html lang="ru">
  <head>
	<meta charset="UTF-8"/>
	<title>Glob</title>
	<script type="text/javascript">
		window.onload = function() {
			var ClickCounter = 0;
			
			document.addEventListener("click", function(e) {
				ClickCounter++;
				document.getElementById('my').innerHTML = ClickCounter;
			});
		};
	</script>
  </head>
  <body>
     <div id="my"></div>
  </body>
</html>
 | 
	
		
 А если она мне в других местах понадобится а не только в этой функции? Тогда сделать return ClickCounter ? Но тогда она наверное вновь станет глобальной )) 
	 | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
| Часовой пояс GMT +3, время: 04:34. |