【发布时间】:2014-12-16 03:56:27
【问题描述】:
这个问题已经以不同的方式存在,但我的代码大多不同,所以我没有从其他答案中得到解决方案。这是一个示例代码:
http://jsfiddle.net/e52n28xs/
我想像这样启动函数:
var test1 = {
start: function() { }
};
var fn = 'test1';
fn.start();
我知道以下工作,但我需要字符串选项。
test1.start();
也许这不可能?
【问题讨论】:
-
如果
test1在全局范围内,你可以做window[fn]()。 -
为什么要这样做?如果您打算使用
test1..n序列,请改用数组。 -
使用评估:
(new Function(fn+'.start'))(); -
你能在上下文中包装
test1吗,例如var ctx = { test1: { start: function() {} }?那么它将是ctx['test1'].start();。
标签: javascript