猿问

let只在他所在的代码块内有效。

let  a =1



function fn1() {

  function fn() {

    console.log(a)

  }

  fn()

}


  fn1()  // 1

那为什么这个能打印出a
难道是函数的代码块不算代码块?

慕容708150
浏览 449回答 1
1回答

繁花不似锦

let只在他所在的代码块内有效。但同时可以访问作用域链在函数fn中的a能够获得作用域链上的a (即可以访问最外层的a), 所以console.log(a) 能输出1
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答