gpt4 book ai didi

javascript - 调用函数和传递函数有什么区别?

转载 作者:行者123 更新时间:2023-11-28 20:08:08 26 4
gpt4 key购买 nike

今天在工作中出现了这个对话,我无法完全理解其中的区别,到目前为止我的谷歌搜索没有结果。

工作中使用的示例是之间的区别

DoSomethingFunction().then(function(){                 DoSomethingElse();          });

DoSomethingFunction().then(DoSomethingElse());

对我来说,我看第一个,它是一个匿名函数,所以它会被调用,并且在它的内部,是我们想要调用的函数,但这就是我使用第二个版本的原因,它只调用函数而不将其包装在单独的函数中。

有人可以向我解释一下其中的区别吗?

最佳答案

JavaScript 中的函数是对象,可以像任何其他对象一样传递。 DoSomethingElse 是一个可以使用 DoSomethingElse() 执行的函数对象。

.then 需要一个函数对象,因此以下代码仅执行该函数并返回其值,如果不返回任何内容,则返回 undefined:

 // this is wrong, unless `DoSomethingElse` returns a function
DoSomethingFunction().then(DoSomethingElse());

下面传递一个匿名函数(这是 .then 所期望的函数),然后在内部执行 DoSomethingElse

DoSomethingFunction().then(function(){
DoSomethingElse();
});

下面将函数对象传递给then,并执行与上面相同的操作:

DoSomethingFunction().then(DoSomethingElse);

关于javascript - 调用函数和传递函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20396481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com