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

2019-06-09  本文已影响0人  JiAyInNnNn

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循环

上一篇下一篇

猜你喜欢

热点阅读