let a =1function fn1() { function fn() { console.log(a) } fn()} fn1() // 1那为什么这个能打印出a难道是函数的代码块不算代码块?
1 回答
繁花不似锦
TA贡献1851条经验 获得超4个赞
let只在他所在的代码块内有效。
但同时可以访问作用域链
在函数fn
中的a
能够获得作用域链上的a
(即可以访问最外层的a
), 所以console.log(a)
能输出1
添加回答
举报
0/150
提交
取消