Javascript 你能从函数的参数中调用函数吗?

Javascript 你能从函数的参数中调用函数吗?,javascript,Javascript,这是我的代码,我想使用.forEach来执行数组中的函数 const ar = new Array ('function1', 'function2', 'function3', 'function4'); ar.forEach(element => element();) 然而,当我运行这段代码时,它给出了未捕获的TypeError:元素不是函数。 我试过了 ar.forEach(element => {element = var x; x();}) 但是,它只给了我一个错误u

这是我的代码,我想使用.forEach来执行数组中的函数

const ar = new Array ('function1', 'function2', 'function3', 'function4');
ar.forEach(element => element();)
然而,当我运行这段代码时,它给出了未捕获的TypeError:元素不是函数。 我试过了

ar.forEach(element => {element = var x; x();})
但是,它只给了我一个错误uncaughtyperror:x不是一个函数。
如果你能帮忙,谢谢

可以这样做,但数组必须由函数而不是字符串组成

e、 g:

常量函数=[=>console.log'Hi',=>console.log'Hello world'];
functions.forEachf=>f 可以这样做,但数组必须由函数而不是字符串组成

e、 g:

常量函数=[=>console.log'Hi',=>console.log'Hello world'];
functions.forEachf=>f 只需将实际函数添加到数组中即可:

const f1=>console.log'f1'; const f2=>console.log'f2'; constf3=>console.log'f3'; const f4==>console.log'f4'; 常量函数=[f1,f2,f3,f4];
functions.forEachf=>f 只需将实际函数添加到数组中即可:

const f1=>console.log'f1'; const f2=>console.log'f2'; constf3=>console.log'f3'; const f4==>console.log'f4'; 常量函数=[f1,f2,f3,f4];
functions.forEachf=>f 当然可以。但是,您需要函数本身,而不是像这里的例子那样在数组中包含字符串

const ar = new Array (
    () => {console.log('function1')},
    () => {console.log('function2')},
    () => {console.log('function3')},
    () => {console.log('function4')}
);
    
ar.forEach(element => element();)

当然可以。但是,您需要函数本身,而不是像这里的例子那样在数组中包含字符串

const ar = new Array (
    () => {console.log('function1')},
    () => {console.log('function2')},
    () => {console.log('function3')},
    () => {console.log('function4')}
);
    
ar.forEach(element => element();)

我猜你做错了什么!如果您想将函数放入数组中,然后在forEach中调用它们,那么它应该可以正常工作。 试试这个:

const f1 = ()=> console.log("f1");
const f2 = ()=> console.log("f2");
const ar = new Array(f1, f2);
ar.forEach((f)=> f())
// output: 
// f1
// f2

我猜你做错了什么!如果您想将函数放入数组中,然后在forEach中调用它们,那么它应该可以正常工作。 试试这个:

const f1 = ()=> console.log("f1");
const f2 = ()=> console.log("f2");
const ar = new Array(f1, f2);
ar.forEach((f)=> f())
// output: 
// f1
// f2

数组中没有字符串,不能直接存储函数吗?[function1,function2…]否则,如果需要传递字符串,则需要使用其作用域从其名称访问它们。例如,如果它们在全局范围内,您可以这样做:arr.forEachx=>window[x];数组中没有字符串,不能直接存储函数吗?[function1,function2…]否则,如果需要传递字符串,则需要使用其作用域从其名称访问它们。例如,如果它们在全局范围内,您可以这样做:arr.forEachx=>window[x];