JSFiddle - React, Tailwind, and code Playground

JavaScript

var scope = {
    foo: 'bar'
},
foo = 'baz';


var func = function func() {
    return foo;
}


document.body.innerHTML += " " + func(); // foo is still 'baz'


document.body.innerHTML += " " + withFunc({foo:"bar"},func);

function withFunc(obj, func) {
    return new Function("obj","with(obj){\n return "+func+"()\n}")(obj); 
}