1
假设我有一个包含我想运行的函数名称的变量,我可以使用window
来运行它,就像这样;从一个变量对象中执行一个函数
var func = "myFunc",
myFunc = function(){ ... };
window[func](); // run the function in the func var
但是,如果预期的功能深入对象内部,则不起作用;
var obj = {
foo: {
hey: function(){ ... }
}
};
obj.foo.hey(); // this runs
var func = "obj.foo.hey";
window[func](); // this doesn't
我可以使用eval()
,但我不知道它是否能够避免,从而不会引入许多安全考虑,eval()
自带。
如何在函数处于如上所述的对象中时运行变量中指定的函数?
http://stackoverflow.com/questions/1184123/is-it-possible-to-add-dynamically-named-properties-to-javascript-object – Teemu