Глобальные переменные в 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, время: 02:38. |