gpt4 book ai didi

javascript - 如果 JS 中的函数是一等的,那么是什么允许它们在定义之前被调用?

转载 作者:行者123 更新时间:2023-12-03 13:21:39 26 4
gpt4 key购买 nike

头等函数不是意味着它们表现为变量吗?显然,它们的行为与变量并不完全相同,因为:

console.log(foo);
var foo = 'bar';

...不起作用,而这个:
console.log(foo());
function foo() {
return('bar');
}

...做。

也就是说,这个:
console.log(foo());
var foo = function() { return 'bar'; };

不起作用,这是更一致的。

是什么赋予了?

最佳答案

你所经历的被称为提升。使用 时函数声明 喜欢:

function foo() {}
foo将被移动到最近的作用域(函数)的顶部。

另一方面,当您使用 函数表达式 功能分配喜欢:
var foo = function() {}

变量 foo将被移到顶部,但分配将在需要时进行。

Learn more

关于javascript - 如果 JS 中的函数是一等的,那么是什么允许它们在定义之前被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12274014/

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