JSFiddle - React, Tailwind, and code Playground

JavaScript

function anyFunc(par)
    {
        console.log(par);
        console.log(this);
    }
    
    function makeClosure(func)
    {
        //console.log(this);
        var theFunc = func;
        return function(par)
        {
            theFunc(par);
            return func.call(this,par);
        }
    }
    var close = makeClosure(anyFunc);
    close('Foo');
    var objWithClosure = {cls:makeClosure(anyFunc),prop:'foobar'};
    objWithClosure.cls(objWithClosure.prop);
    var scndObj = {prop:'Foobar2'};
    scndObj.cls = makeClosure;
    scndObj.cls = scndObj.cls(anyFunc);
    scndObj.cls(scndObj.prop);