JavaScript中的var、let、const

JavaScript中定义变量常量的方法有var、let、const,区别如下:

  • var:作用域是函数体内,存在变量提升现象。
  • let:ES6增加,作用域是代码块,不存在变量提升现象
    比如:for循环定义的变量就建议用let
    for (let i = 0; i < results.length; i++) {
      ......
    }
  • const:ES6增加,常量定义,不能再修改
  const a = {b:'b'};
  a = {c:'c'}; //a不能被修改,错误:Uncaught SyntaxError: Invalid or unexpected token
  a.b = 'bb'; //这个是可以的,a.b 和 a是不同的变量

变量提升:JS引擎用将所有var声明和function函数声明都提到函数内的最高处。

参考:深入浅出ES6(十四):let和const

你可能感兴趣的:(JavaScript中的var、let、const)