今天在看 你不懂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)
L
我的理解是js是没有块级作用域的,es6的块级作用域只是针对let 和const声明的变量或函数
T
@lastIndexOf 对的,这样解释非常nice。
L
用严格模式再试一次?
参与回复
登录后即可参与回复。登录