gpt4 book ai didi

javascript - 在哪里可以定义函数

转载 作者:搜寻专家 更新时间:2023-11-01 04:49:44 24 4
gpt4 key购买 nike

已编辑:表达式 function foo() {return 20;}, foo() 本来是 console.log 的单个参数)。

这个:

console.log((function foo() {return 20;}, foo()));

不起作用,我收到 ReferenceError,因为 foo 尚未定义。

为什么?

最佳答案

console.log(function foo() {return 20;}, foo());

在此代码中,您将一个命名 (foo) 函数作为参数传递给console.log。知道了?您从未声明函数 foo,您只是将其作为参数传递。在 javascript 中,函数声明和函数表达式具有相同的语法,因此会造成混淆。

也就是说,传递一个命名(而不是匿名)函数几乎总是无用的。您的代码等同于:

console.log(function () {return 20;}, foo());

其中 function () {return 20;} 是一个匿名函数,与命名函数相反。匿名函数在 JS 中非常普遍,因为同样,命名函数表达式中的名称大多是无用的。

关于javascript - 在哪里可以定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53814539/

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