I think the code below should display 4, why does it produce 3?
function arithFunc() {
var n = 0;
return {
plusOP: function() {
return n++;
},
minusOP: function() {
return n--;
}
};
}
var aTest = arithFunc(),
bTest = arithFunc();
document.getElementById("demo").innerHTML = aTest.plusOP();
document.getElementById("demo").innerHTML = aTest.plusOP();
document.getElementById("demo").innerHTML = bTest.minusOP();
document.getElementById("demo").innerHTML = aTest.plusOP();
document.getElementById("demo").innerHTML = bTest.minusOP();
document.getElementById("demo").innerHTML = aTest.plusOP();
<p id="demo"></p>