很难解释..我基本上想要做以下事情:
var doWhat = "speak";
var speak = {
hello: function() { alert: "Hello!"; }
};
// Won't work
doWhat.hello();
这是一个不好的例子,但你应该能够理解我的意思。 有可能吗?
答案 0 :(得分:1)
您可以使用eval(doWhat).hello();
。这样,doWhat
的内容将被评估为对象引用。
答案 1 :(得分:1)
您可以执行类似
的操作var doWhat = {}, str = "speak";
doWhat[str] = {
hello : function() {}
};
doWhat[str].hello();
答案 2 :(得分:0)
jsName = 'PageIndexController';
//ST1
eval("if( typeof jsName === 'undefined')alert(111);");
//ST1
eval("if( typeof " + jsName + " === 'undefined')alert(222);");
//ST1 not work
//ST2 work and the output: 222;
//there are two different way using eval, we will get 2 different outcome.