如何在JavaScript中将字符串转换为函数引用?

Aus*_*ust 5 javascript string reflection reference function

我想要的是将函数的名称作为字符串传递,并且就像我传递对函数的引用一样.例如,我想这样做:

var test = function(fn){
  fn();
}
test(alert);
Run Code Online (Sandbox Code Playgroud)

等于这个:

var test = function(function_as_string){
    //...code that converts function_as_string to function reference fn
    fn();
}
test('alert');
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Guf*_*ffa 5

您可以从窗口对象获取函数引用:

var fn = window[function_as_string];
Run Code Online (Sandbox Code Playgroud)

演示: http: //jsfiddle.net/Guffa/nA6gU/