ECMAScript 6 学习 let 和 const命令

壹 、主要内容:

图片 1

二 、含义、注意事项、使用方法:

壹 、let 命令:用来声称一个变量,和var分外相像。

      使用let评释变量的注意事项:

  1)、使用let申明的变量,所表明的变量只在命令所在的代码块内一蹴而就。

    {

      let a = 2;

      var b = 3;

      console.log(a);      //2

    }

                  console.log(a);        //a is not defined

     console.log(b);          //3

  2)、使用let命令注解的变量在域解析的时候不会被升级。

    

    console.log(a); //没有报错  undefined   a被升高了 不客观
 a被定义了
    var a = 5;

    console.log(b); //报错 b is not defined
    let b = 4;

 

  3)、let 不容许在同三个效率域下生命早已存在的变量  

    var a = 9;
    let a = 0;  //Identifier ‘a’ has already been declared    
a已经被声称了

       4)、let在for循环中的使用

   比如:有三个按钮    想要在点击按钮时打字与印刷多少个按钮的下标 

    <button>1</button>
    <button>2</button>
    <button>3</button>
    <button>4</button>
    <button>5</button>

    js的写法:

           var butArray = document.querySelectorAll(‘button’);

    //1、var

    for(var i=0;i<butArray.length;i++){
      butArray[i].onclick = function(){
      console.log(i);
      }
    }   //打字与印刷出来的都以5 

    //2 var
    for(var i=0;i<butArray.length;i++){
        butArray[i].index = i;
      butArray[i].onclick = function(){
      console.log(this.index+1);
      }
     }
    //3 var
     for(var i=0;i<butArray.length;i++){
       (function(i){
       butArray[i].onclick = function(){
      console.log(i)
       }
       }(i))
     }

    //4、let
    for(let i=0;i<butArray.length;i++){
      butArray.onclick = function(){
      console.log(this.index)
      }
    }

    注:let 注明的for循环
 在循环语句之内是父效用域,在循环体之中是子效率域

      列:

      for( let i = 0;i<3;i++){
        let i = 20;
        console.log(i);      //三个20
      }
      console.log(i);             //i is not defined

 

二 、const命令:用来生命3个常量,常量就是不得以变动的量。

    const命令同样有let的一 、贰 、3条特色,第贰,注脚的常量所注解的变量只在指令所在的代码块内立见功用。第3,注脚的常量不会被升高。第3,不可能宣称已经被声称过的常量或变量。除了这个,使用const注解常量时特意要留心两点:

  1)、注明常量时务必赋值

  2)、证明的常量存款和储蓄简单的数据类型时无法改变其值,假设存款和储蓄的是目的,那么引用不能被转移,至于对象里面包车型客车多少怎样变化是没有提到的。

  图片 2           
 浏览器报错图片 3

  图片 4   
 浏览器不会报错图片 5