let和const

let

用来声明变量,但是所声明的变量只在let命令所在的代码块内有效

  {
    let a=12
    alert(a)//12
  }
  alert(a)//报错 找不到

let不像var那样会发生变量提升,所以一定要先声明后使用。

  console.log(foo); //undefined
  console.log(bar); //报错
  var foo = 2;
  let bar = 3;

let不允许在相同作用域内重复声明同一个变量。

   let a=12;
   let a=5;//报错
   console.log(a)


const

const同样可以创建块作用域变量,同样只在声明所在的块级作用域中有效。但其值是固定的,不可更改,只读。

    {
    const a=12;
      alert(a);//12
    }
    alert(a)//报错

 

一旦声明变量,就必须立即初始化,不能留到以后赋值。

  //只声明不赋值就会报错
  const foo; //报错

const和let一样没有变量提升,同样不能重复声明。

 

 

posted on 2017-07-09 21:03  一头野码农  阅读(238)  评论(0编辑  收藏  举报