gpt4 book ai didi

javascript - 用括号括起来时不能按名称引用函数

转载 作者:行者123 更新时间:2023-11-30 14:54:50 24 4
gpt4 key购买 nike

当创建一个具有名称的函数并将其用括号括起来或将其作为参数/回调传递给另一个函数时。当您稍后尝试通过其名称​​ 引用该函数时,将引发错误。

例子:

(function name1(){});
console.log(name1); // throws error: name1 is not defined

例子:

plugin.module(function name2(){});
name2(); // throws error: name2 is not defined

最佳答案

function 关键字做了两件相似但截然不同的事情:

  1. 它引入了一个函数声明语句;
  2. 它引入了一个函数表达式

这两件事都创建了一个函数,但前者(函数 声明)还将函数名称(在那种情况下是必需的)绑定(bind)到本地范围。但是,函数表达式 不会将函数名称绑定(bind)到本地范围。名称仅在创建的函数范围内绑定(bind)(即, 函数内)。

function 是语句中的第一个标记时,它就是一个函数声明。否则,它是一个函数表达式。因此,当您在 function 语句两边使用圆括号时,它不再是一个语句;这是一个表达式。

关于javascript - 用括号括起来时不能按名称引用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47461683/

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