Javascript 获取/console.log当前名称空间

Javascript 获取/console.log当前名称空间,javascript,Javascript,我正在尝试从动态字符串运行函数 假设我有几个函数,我不想使用“if-else”或内联 yes() no() maybe() sometimes() whoknows() random() 所以我试着这样做: window['yes'](); 但我一直在使用名称空间。当我得到错误“global has no method yes”时,我不确定如何判断我所处的名称空间 $(document).ready(function(){ function yes(){console.log('y

我正在尝试从动态字符串运行函数

假设我有几个函数,我不想使用“if-else”或内联

yes()
no()
maybe()
sometimes()
whoknows()
random()
所以我试着这样做:

window['yes']();
但我一直在使用名称空间。当我得到错误“global has no method yes”时,我不确定如何判断我所处的名称空间

$(document).ready(function(){

    function yes(){console.log('yes?');}

    window['yes']();

    });
如何查找或设置当前名称空间


如果我确实设置了名称空间,那么我如何立即开始在其中运行代码,或者这只是它自己发生的吗?

作为旁注,这看起来是一个非常糟糕的主意,如果这是您遇到的任何问题的唯一解决方案,那么您可能正在做一些错误的事情?这将是不符合主题的。我无法理解这个问题。“this”始终返回的不是当前范围,而是被调用方(调用函数的人)的范围。您试图实现什么?我正在尝试构建一个api,在其中接收具有动态函数名的消息。“yes”是您定义的匿名函数中的一个局部变量。当调用此匿名函数时,它将绑定到文档对象。您必须使用
this.yes=function(){},但除非您确定正在执行的操作,否则向文档对象添加方法不是一个好主意。