gpt4 book ai didi

javascript - 在 ES6 中什么是新规范, "block-level function declaration"是什么意思?

转载 作者:数据小太阳 更新时间:2023-10-29 06:15:30 25 4
gpt4 key购买 nike

我正在尝试学习 es6 兼容性表 Here .

bindings 部分它说“ block 级函数声明?”。除了官方 spec,我找不到任何博客或文档在那个词的组合上。

问题:“ block 级函数声明”指的是什么?

最佳答案

示例 kangax 正在测试:

alert(function(){
'use strict';
function f() { return 1; }
{
function f() { return 2; }
}
return f() === 1;
}());

这意味着函数“提升”的行为方式与 let 相同(与 var 相比)。

在ES5中,大括号是“装饰”,除非出现在foriftry等几个关键字之后 所以,第二个 f() 会“破坏”第一个,但在 ES6 兼容运行时中,第二个 f() 是 block 私有(private)的,因此不会替换第一个函数定义的名称 f

在 ES6 中,大括号 ({ ... }) 表示一个 block ,即使前面没有关键字。也就是说,我没有在 ES6 代码中看到很多任意 block ,可能只是因为缺乏实践、无知,或者可能只是因为缺乏需要;函数范围在 JS 中工作得很好。

关于javascript - 在 ES6 中什么是新规范, "block-level function declaration"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35909072/

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