Javascript 函数参数在调用时是否可以是函数

Javascript 函数参数在调用时是否可以是函数,javascript,jquery,function,ecmascript-6,parameters,Javascript,Jquery,Function,Ecmascript 6,Parameters,我有两个功能: const fn1 = (1, 2) => { //do something } fn2({ param1: 'hello', param2: 'world', param3: fn1(1, 2) }); 调用函数: const fn1 = (1, 2) => { //do something } fn2({ param1: 'hello', param2: 'world', param3: fn1(1, 2) }

我有两个功能:

const fn1 = (1, 2) => {
   //do something
}
fn2({
   param1: 'hello',
   param2: 'world',
   param3: fn1(1, 2)
});
调用函数:

const fn1 = (1, 2) => {
   //do something
}
fn2({
   param1: 'hello',
   param2: 'world',
   param3: fn1(1, 2)
});
当我调用上述函数时,fn1()在fn2()之前被调用。。为什么会这样?我需要在fn1()之前遍历fn2()。

()
在指向函数的标识符调用该函数之后。由于要在完成
f2
中的所有操作后调用函数,请将
()
s放在
fn2
中,而不是放在调用者中:


您需要将回调函数传递到fn2,如下所示:

fn2({
param1:'你好',
参数2:“世界”,
参数3:fn1
});
从fn2中调用fn1,如下所示:

const fn2=({param1,param2,param3})=>{
$('id#u one')。文本(参数1);
$('id'u two')。文本(参数2);
参数3();
}
无论何时使用括号,都会立即调用该函数


您当前使用的
param3:fn1()
是说“param3等于此函数的返回值”,并且它运行fn1()来获取返回值,即使函数没有返回任何内容。

如果fn1()也有参数怎么办?对不起,我应该在我的问题中提到,然后你需要把它们放在
()
param3(1,2)
@nb\u nb\nb如果它接受,比如说,
1
2
,那么我会传递:
()=>fn1(1,2)
(如果它们是在调用者中定义的,但不是在
fn2
部分)@Barmar,在param3()内)?@nb_nb_nb这取决于需要定义参数的位置。如果在
fn2
内,则使用答案中的代码,但将参数传递到
param3
。如果在
fn2
之外,则
()=>fn1(1,2)
作为传递给
fn2
的参数。之所以发生这种情况,是因为必须解析
fn1()
才能将属性分配给
param3
,这是创建传递给
fn2
的对象所必需的。都是嵌套的。如果您解释一下为什么不需要调用
fn1
是一个问题,以及您通常要做什么,可能会更清楚。
fn2({
   param1: 'hello',
   param2: 'world',
   param3: fn1
});