美文网首页
js中定义变量之②var let const的区别

js中定义变量之②var let const的区别

作者: JiAyInNnNn | 来源:发表于2019-06-09 11:36 被阅读0次

    var 上一篇文章有讲过,是js定义变量的关键词。

    但是在es6中,新添加了两个关键词,用于变量声明的关键词:let 和const

    接下来就说一下var let 和const的区别:

    首先说var

    var代码 在浏览器控制台输出的结果

    用var定义变量,可以重新赋值,当我在函数里赋值后,调用函数后,同时改变了局部变量的值。

    接下来说let

    let代码1 a已经被声明

    用let不能重复声明一个变量。

    let代码2 在浏览器控制台输出的结果

    当我在函数里重新对同一变量进行赋值后,并不会影响我函数外的变量。let是有块级作用域的。

    最后来说const

    const代码1 在浏览器控制台输出报错

    const定义变量不能重复赋值。并且,const和let一样都是有块级作用域的。

    补充:因为let和const 没有var的变量提升问题,所以会出现 `ReferenceError`暂时死区的情况,请看问题代码:

    ```

    let a = 10

      function foo() {

        console.log(a)

        let a = 30

      }

      foo()

    ```

    浏览器报错

    那什么时候使用let 和const呢?

    当我们定义一个变量,不会改变时,用const

    其他时候一律都用let,eg:for循环

    相关文章

      网友评论

          本文标题:js中定义变量之②var let const的区别

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