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();