1.与第二个情况对比
1 | const fn2 = () => { |
总结:函数会从自身的活动对象开始,一层层向上寻找自己所需的变量,该函数在寻找a1时发现,自己的作用域里声明了let,它就不会再往上找,而let在声明之前是不可用的,所以就会报错
2.与第一个情况对比
1 | const fn2 = () => { |
3.执行let a1的时候不会报错
1 | const fn2 = () => { |
4.与1对比,执行let a1的时候报错
1 | const fn2 = () => { |
天道酬勤 厚德载物
1 | const fn2 = () => { |
1 | const fn2 = () => { |
1 | const fn2 = () => { |
1 | const fn2 = () => { |
微信支付
支付宝