ES6功能块确定范围不按预期工作?

时间:2017-10-09 15:09:02

标签: javascript function scope ecmascript-6 scoping

我正在阅读ES6&超越本书,第2章:你不知道JS系列的语法。他提到了ES6中函数的块作用域,并给出了这个例子,我改变了。

我将名称更改为fooBlock并将其打印到控制台。所以我期望第一次调用fooBlock工作,第二次调用它来给出错误......但是它能够在块范围之外调用函数。

我没有得到什么?

{
    fooBlock(); //prints "Here is fooBlock"

    function fooBlock(){
        console.log("Here is fooBlock");
    }
}
fooBlock(); //prints "Here is fooBlock" when I expected an error

0 个答案:

没有答案