JSFiddle - React, Tailwind, and code Playground

JavaScript

(function test1 () {

    var incr = function(x) { return x + 1;}; 
    var makeclosure = function () {
        var x = 0; 
        return function () { 
            x = incr(x); 
            console.log(x);
        }; 
    };
    
    var c = makeclosure();
    c();
    c();
    incr = function(x) { return x - 1;}; 
    c();
    c();
    
}());


(function test2 () {

    function incr (x) { return x + 1;}
    function makeclosure () {
        var x = 0;
        return function () { 
            x = incr(x); 
            console.log(x);
        }; 
    }
    
    var c = makeclosure();
    c();
    c();
    incr = function(x) { return x - 1;}; 
    c();
    c();
    
}());