这有什么问题??我想将字符串称为函数。有人可以帮我吗
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();
但是,我不建议在生产中使用这种代码。确切地说,很难说出您想要什么,但是我很确定有一种更好的方法来实现它。