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