在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();
也会起作用。。谢谢你所有的帮助