| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | <!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <meta http-equiv="X-UA-Compatible" content="IE=edge">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <title>Document</title></head><body>  <script>    /*       let 和 var 的区别      1.let没有变量提升      2.let 不能重复声明      3.let具有块级作用域      4.临时失效区   在这个区域内 不允许同名的变量出现    */    // console.log(a)    // var a = 13    // let b = 10    // let a = 20    // a = 30    // b = 40    // console.log(a,b)    // var a = 10    // var a = 20    // console.log(a)    // let a = 10    // let a = 20    // var a = 10    // function fn(){    //   console.log(a)    //   var a = 30    // }    // fn()    // let a = 10    // function fn(){    //   let a = 'abc'    //   console.log(a)    // }    // fn()    // console.log(a)    // var a = true    // if(a){    //   let x = 100    //   console.log(x)    // }    // console.log(x)    /* 块级作用域  在这个作用域里面生命的变量  只能声明在它的块或者是包含块里面出现        一旦离开这个作用域 这个变量就不存在      在块级作用域里面声明的变量 不会污染全局作用域      有助于 避免变量命名重复    */    // let x = 10    // var x = 10  </script></body></html>
 |