gpt4 book ai didi

javascript - 为什么函数声明有名称属性而变量在 Javascript 中没有

转载 作者:行者123 更新时间:2023-11-30 08:41:30 27 4
gpt4 key购买 nike

我发现了

function hello(){}
document.write(typeof hello); // outputs function
document.write("<br/>");
document.write(hello.name); // outputs name

鉴于

var hello = function(){}
document.write(typeof hello); // outputs function
document.write("<br/>");
document.write(hello.name); // doesn't output anything

你能解释一下为什么吗?好像功能不太一样。

最佳答案

在第二个示例中,变量 hello 指向一个匿名函数表达式

你也可以编写命名函数表达式

var foo = function bar() {};
console.log(foo.name); // "bar"

使用命名函数表达式非常适合在严格模式中进行递归,但在旧版本的 IE 中您会发现标识符泄漏到命名空间中。

关于javascript - 为什么函数声明有名称属性而变量在 Javascript 中没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25966265/

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