当函数名作为字符串传递时,调用嵌套函数

Sys*_*ral 5 javascript

我试图通过将函数名称作为字符串传递然后调用它来访问嵌套函数.例如,请看这篇文章

function outer(action){
    window["outer"][action]();

    function inner(){
        alert("hello");
    }
}
outer("inner");
Run Code Online (Sandbox Code Playgroud)

但它不起作用.错误:

window.outer[action] is not a function
Run Code Online (Sandbox Code Playgroud)

如何使这项工作,或调用嵌套函数的替代方法.

这样做的原因是我试图隐藏一系列由函数作用域内的iframe调用的函数.

gbl*_*zex 6

function outer(action){
   var inner = {
     func1: function() {},
     func2: function() {},  
     func3: function() {},
     // ...
   }
   inner[action]();
}

outer("func1");
Run Code Online (Sandbox Code Playgroud)