我正在阅读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