Messing around with closures

Getting to understand closures by implementing a simple example (though quite verbose way of creating operator functions)

by Marcus Baptiste

HTML

<p id="output">     
</p>

JavaScript

var oper_func_maker = function(oper) {
    var offset = 5;
   
    if(oper === "+") {
       
        return function(a,b) { 
            return offset + a + b;
        };
    } else if (oper === "-") {
        return function(a,b) {
            return offset + (a - b);
        };
    }
    
     
};

var add_func = oper_func_maker("+");
var result = add_func(2,3);

output.innerHTML += result + "<br>";

var sub_func = oper_func_maker("-");
var result2 = sub_func(5,5);

output.innerHTML += result2 + "<br>";