JSFiddle - React, Tailwind, and code Playground

JavaScript

window.a = { b : { c : function() { console.log(this) } } };
a.b.c()


function getCallback(path) {
    var arr = path.split('.');
    var k;
    var fn = window;
    while(k = arr.shift()) {
        if(typeof fn[k] === "function") {
            fn = fn[k].bind(fn);
        } else {
            fn = fn[k]; 
        }
 
    }
    
    if(typeof fn === "function") return fn;
    return function(){};
}

var f = getCallback("a.b.c");
f();