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)})