Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中组装函数名?_Javascript_Object - Fatal编程技术网

如何在javascript中组装函数名?

如何在javascript中组装函数名?,javascript,object,Javascript,Object,这是一个示例函数: function processFanGrowth() { console.log('fanGrowth'); } 以及属性名为“FanGrowth”的对象“data” 我得到了这个错误:Uncaught TypeError:string不是一个函数您可以将该函数作为定义其作用域的对象的属性调用,例如,对于在全局作用域中定义的函数: window['process' + property](); 您可以将函数作为定义其作用域的对象的属性调用,例如,对于在全局作用域

这是一个示例函数:

function processFanGrowth() {
    console.log('fanGrowth');
}
以及属性名为“FanGrowth”的对象“data”


我得到了这个错误:Uncaught TypeError:string不是一个函数

您可以将该函数作为定义其作用域的对象的属性调用,例如,对于在全局作用域中定义的函数:

window['process' + property]();

您可以将函数作为定义其作用域的对象的属性调用,例如,对于在全局作用域中定义的函数:

window['process' + property]();

此语法应适用于:

window["functionName"](arguments);
就你而言:

for(var property in data) {
      // here i'm trying to generate the function name.
      funcName = "process" + property;
      window["functionName"]();
}

此语法应适用于:

window["functionName"](arguments);
就你而言:

for(var property in data) {
      // here i'm trying to generate the function name.
      funcName = "process" + property;
      window["functionName"]();
}

当您应用“进程”时,您正在将任何属性转换为string@Pogrindis:
属性
已经是一个字符串。这就是重点。当你应用“过程”时,你正在将任何属性转换为string@Pogrindis:
属性
已经是一个字符串。这就是问题所在。请参考这篇文章。这篇文章做得很好,9分钟后才能接受答案。这种函数调用方法是不推荐的还是不好的做法?@tareq:这还不算太坏,不过你必须小心,
property
永远不会来自用户输入。我更喜欢在可能的情况下存储对函数的引用(而不是函数名);有没有什么有用的资料可以帮助我更好地理解这一点?塔里克:你在用哪本书?这本书应该会教你这方面的知识。@tareq:找一本好的、经过同行评议的书。这本书做得很好,9分钟后才能接受答案。这种函数调用方法是不推荐的还是不好的做法?@tareq:这还不算太坏,不过你必须小心,
property
永远不会来自用户输入。我更喜欢在可能的情况下存储对函数的引用(而不是函数名);有没有什么有用的资料可以帮助我更好地理解这一点?塔里克:你在用哪本书?它应该教会你这类事情。@tareq:找一本好的,同行评议的书。