这有什么问题??我想将字符串称为函数。有人可以帮我吗

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

wnameSpace.publicFunction();

最佳答案

好吧,您正在访问window[wnameSpace],但我认为您打算使用window[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();


但是,我不建议在生产中使用这种代码。确切地说,很难说出您想要什么,但是我很确定有一种更好的方法来实现它。

10-06 15:55