美文网首页
JS var、let、const对比

JS var、let、const对比

作者: cythia_yyy | 来源:发表于2018-05-31 16:31 被阅读0次

    JS原先声明变量使用var;ES6中引入let和const用来扩展声明变量

    (1)使用var声明的变量,作用域为该语句所在的函数体
    (2)使用let声明的变量,作用域为块级代码(简单理解为大括号内)
    (3)使用const声明的为常量,后续代码不可以对该常量重新赋值

    栗子1

    for (var i = 0; i < 3; i++) {
          setTimeout(function () {
            console.log(i)
          }, 1000);
     } // 3,3,3
    

    栗子2

    function varTest() {
      var i = 1;
      if (true) {
        var i = 2;  // 同样的变量!
        console.log(i);  // 2
      }
      console.log(i);  // 2
    }
    
    function letTest() {
      let i = 1;
      if (true) {
        let i = 2;  // 不同的变量
        console.log(i);  // 2
      }
      console.log(i);  // 1
    }
    

    相关文章

      网友评论

          本文标题:JS var、let、const对比

          本文链接:https://www.haomeiwen.com/subject/wynqsftx.html