所以我想创建一个function
:阵列调用一个函数从基阵
- 这需要在一个字符串数组
- 这些字符串转换为功能
- 然后能从数组调用时返回功能
到目前为止,我的代码如下所示:
function funcArrays(stringArray){
var funcArray = [];
for(var i in stringArray){
var name = stringArray[i];
var func = new Function(
"return function(num){ return"+" "+name+"; };"
)();
funcArray.push(func());
}
return funcArray;
}
当我通过这个function
串
var strings = ['One', 'Two', 'Three', 'Four', 'Five']
然而,当我尝试这个数组传递给我的函数像这样的数组:
var functionalArrayPositionOne = funcArrays(strings)
我得到这样的:
Uncaught ReferenceError: One is not defined at eval (eval at funcArrays (:5:14), <anonymous>:2:30) at guestListFns (<anonymous>:8:18) at <anonymous>:1:9
而我希望能够做的是这样的:
var functionalArrayPositionOne = funcArrays(strings)
那么做到这一点: functionalArrayPositionOne[0]()
而且有这个返回function's
输出
对不起,如果我错过了,但'guestListFns(字符串)'在哪里? –
此外,在这一行'新函数( “返回函数(num){return”+“”+ name +“;};” )()'你正在调用你创建的函数,所以你没有函数 –
好的结果我改变了所有的名字 –