Counter with closure
by Евгений
HTML
<button type="button" id="plus-btn">+</button>
<button type="button" id="minus-btn">-</button>
<button type="button" id="get-btn">=</button>
<div id="result">0</div>
<input type="number" id="input" value="5"><button type="button" id="input-btn">set</button>
JavaScript
function makeCounter() {
var counter = 0;
return {
plus: function() {return ++counter;},
get: function() {return counter;},
minus: function() {return --counter;},
set: function(val) {return counter = val;}
}
}
var counter = makeCounter();
var result = document.getElementById('result');
document.getElementById('plus-btn').addEventListener('click', function() {result.innerText = counter.plus();});
document.getElementById('minus-btn').addEventListener('click', function() {result.innerText = counter.minus();});
document.getElementById('get-btn').addEventListener('click', function() {alert(counter.get());});
document.getElementById('input-btn').addEventListener('click', function() {result.innerText = counter.set(document.getElementById('input').value)})