es6块作用域中的函数
发布于 8 年前 作者 TalkWIthKeyboard 3916 次预览 最后一次回复是 8 年前 来自 问答
今天在看 你不懂JS 的时候,出现了一个疑问:
- 块中的函数作用域到底在哪里?
-
书中说块中的函数作用域仅属于块中
{ foo(); // 好用! function foo() { // .. } } foo(); // ReferenceError -
我马上试了一下,发现并不是如此
{ foo(2, 3); function foo(a, b) { console.log(a, b); } } foo(1, 2); // 2 3 // 1 2
-
3 回复
我的理解是js是没有块级作用域的,es6的块级作用域只是针对let 和const声明的变量或函数
@lastIndexOf 对的,这样解释非常nice。
用严格模式再试一次?