在javascript中调用字符串作为函数调用

在javascript中调用字符串作为函数调用,javascript,Javascript,这是怎么回事??我想调用字符串作为函数。有人能帮我一下吗 var wnameSpace = (function(){ var privateVar = ''; privateVar = "dummyFunction"; dummyFunction = function(){ console.log("hurray dummyFunction called here"); }; return { publicFun

这是怎么回事??我想调用字符串作为函数。有人能帮我一下吗

var wnameSpace = (function(){  
    var privateVar = '';
    privateVar = "dummyFunction";  
    dummyFunction = function(){
        console.log("hurray dummyFunction called here");
    };  
    return {
        publicFunction:function() {
            console.log(window[wnameSpace])
        }  
    } 
})();

wnameSpace.publicFunction();

嗯,您正在访问
窗口[wnameSpace]
,但我想您是想使用
窗口[privateVar]
。另外,您可能想调用函数,而不仅仅是记录它。试试这个:

var wnameSpace = (function(){  
    var privateVar = "dummyFunction";  
    dummyFunction = function(){
        console.log("hurray dummyFunction called here");
    };  
    return {
        publicFunction:function() {
            window[privateVar](); // "hurray dummyFunction called here"
        }  
    } 
})();

wnameSpace.publicFunction();
但是,我不建议在生产中使用这种代码。确切地说,很难说你想要什么,但我确信有更好的方法来实现它

var wnameSpace = (function(){ 
var privateVar = ''; 
privateVar = "dummyFunction"; 
dummyFunction = function(){ 
console.log("hurray dummyFunction called here"); 
}; 
return { 
publicFunction:function(){ 
var fn = window[privateVar]; if (typeof fn === "function") fn(); 
} 
} 
})(); 

wnameSpace.publicFunction();
也会起作用。。谢谢你所有的帮助