的动态调用(不能改变结构多),我试图调用哪个嵌套在另一个函数中的函数:的javascript:在现有的实现嵌套函数
function outer(innerFunction, obj) {
//TODO: call innerFunction here, passing obj as first parameter
function inner1(obj) {
alert(obj.key);
}
}
outer('inner1', {key:'value'});
的jsfiddle是在这里: http://jsfiddle.net/tbyyw/
我已经alreay想过使用eval()
,但我不知道如何传递一个对象 - 和他们说“的eval是邪恶的”;)
另一个解决方案,我想出了正在检查innerFunction字符串,但这意味着的I必须知道哪些内部函数存在(另外,添加新的功能就意味着无须编写额外的检查,然后):
if(innerFunction == 'inner1') inner1(obj);
那么有没有不改变整体实现另一种方式?
这个问题很难回答。最初的实现是什么,整个实现的哪些部分可以改变?从你的代码片段看,它看起来不像'outer'已经存在。 – user123444555621
这个实现已经存在,'outer'函数也是如此(我刚刚改变了标识符以简化事情) – schellmax