ES陆中扬言变量

By admin in 4858美高梅 on 2019年5月5日

在ES6中我们有二种概念变量的秘技:let   
const

1、首要内容:

一、首要内容:

ECMAScript 6 学习 let 和 const命令,ecmascriptconst

一、首要内容:

4858美高梅 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

  二)、使用let命令证明的变量在域解析的时候不会被晋级。

    

    console.log(a); //未有报错  undefined   a被提高了 不创设 a被定义了
    var a = 5;

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

 

  叁)、let 不允许在同3个功能域下生命早已存在的变量  

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

       四)、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[ES陆中扬言变量。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命令:用来生命2个常量,常量就是不得以变动的量。

    const命令一样有let的一、2、三条特色,第叁,表明的常量所证明的变量只在命令所在的代码块内有效。第二,申明的常量不会被晋级。第壹,不能够声称已经被声称过的常量或变量。除了这个,使用const注脚常量时专门要注意两点:

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

  贰)、证明的常量存款和储蓄轻易的数据类型时不得以变动其值,即使存款和储蓄的是目的,那么引用不能被更动,至于对象里面包车型客车数码怎样调换是不曾涉及的。

  4858美高梅 2     
     
 浏览器报错4858美高梅 3

  4858美高梅 4   
 浏览器不会报错4858美高梅 5

 

陆 学习 let 和
const命令,ecmascriptconst 一、重要内容: 2、含义、注意事项、使用办法:
一、let 命令:用来声称四个变量,和var卓殊…

      let特点:

4858美高梅 6

4858美高梅 7

            1.let概念时不会议及展览开变量注明进步

贰、含义、注意事项、使用格局:

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

            二.变量不容许被再度定义

一、let 命令:用来声称2个变量,和var11分相似。

1、let 命令:用来声称三个变量,和var至极相似。

            三.变量不能被删除

      使用let注脚变量的注意事项:

      使用let注解变量的注意事项:

            四.在for循环中等用let定义i
循环时可以保存 i 的值

  壹)、使用let注解的变量,所申明的变量只在命令所在的代码块内立见功能。

  一)、使用let申明的变量,所注明的变量只在指令所在的代码块内立竿见影。

           
5.在块级成分中用let定义的变量只可以在时下块级成效域中动用(注:凡是用{}包裹的都以块级成效域,不过除了这几个之外对象以外)

    {

    {

 

      let a = 2;

      let a = 2;

  const特点:(表明常量恐怕不可被修改的变量)

      var b = 3;

      var b = 3;

             1.const证明的变量值不允许被修改

      console.log(a);      //2

      console.log(a);      //2

        贰.不会进行变量评释升高

    }

    }

             三.常量不允许被删去

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

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

 

4858美高梅 ,     console.log(b);          //3

     console.log(b);          //3

       对let第八个特色给大家举个小栗子

  贰)、使用let命令注解的变量在域解析的时候不会被进步。

  二)、使用let命令评释的变量在域解析的时候不会被晋级。

       若body标签里面有四个button

    

    

         <button>按钮1</button>

    console.log(a); //未有报错  undefined   a被进级了 不创造 a被定义了
    var a = 5;

    console.log(a); //未有报错  undefined   a被晋级了 不成立 a被定义了
    var a = 5;

         <button>按钮2</button>

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

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

         <button>按钮3</button>

 

 

         <button>按钮4</button>

  三)、let 差异意在同1个效率域下生命早已存在的变量  

  三)、let 不允许在同叁个效用域下生命早已存在的变量  

        <button>按钮5</button>

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

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

  script标签里面大家来个标签绑定3个小事件

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

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

        <script>

   比方:有多少个按键    想要在点击开关时打字与印刷八个按键的下标 

   比方:有七个开关    想要在点击开关时打字与印刷多个开关的下标 

        var btnArr = document.getElementsByTagName(“button”);

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

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

        for (let i = 0; i < btnArr.length; i++) {

    js的写法:

    js的写法:

             btnArr[i].onclick = function(){

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

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

                 console.log(i);

    //1、var

    //1、var

             }

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

    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))
     }

    //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))
     }

  用let定义 i
时点击不一样的开关时,打字与印刷的是每种按键对应i

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

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

      

    注:let 评释的for循环
 在循环语句之内是父成效域,在循环体之中是子成效域

    注:let 申明的for循环
 在循环语句之内是父功能域,在循环体之中是子成效域

    var btnArr = document.getElementsByTagName(“button”);

      列:

      列:

        for (var i = 0; i < btnArr.length; i++) {

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

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

             btnArr[i].onclick = function(){

 

 

                 console.log(i);

2、const命令:用来生命三个常量,常量正是无法转移的量。

二、const命令:用来生命二个常量,常量正是无法更动的量。

             }

    const命令一样有let的一、二、3条特色,第3,申明的常量所注脚的变量只在命令所在的代码块内一蹴而就。第二,注解的常量不会被进步。第一,不能够声称已经被声称过的常量或变量。除了那一个,使用const注脚常量时特意要留意两点:

    const命令同样有let的一、2、三条特色,第三,证明的常量所注解的变量只在指令所在的代码块内有效。第贰,注明的常量不会被进级。第2,不能宣称已经被声称过的常量或变量。除了那一个,使用const注明常量时专门要小心两点:

        }

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

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

  用var定义 i
时点击分裂的按键时,各个按键打字与印刷的都是 5(即循环后 i
的值,因为事件时异步施行的,但是for循环不会等待异步事件)

  2)、评释的常量存款和储蓄轻松的数据类型时不得以转移其值,假诺存款和储蓄的是目标,那么引用不得以被改动,至于对象里面包车型地铁数额如何变迁是不曾关联的。

  2)、表明的常量存款和储蓄不难的数据类型时不得以改变其值,若是存储的是目标,那么引用不能被转移,至于对象里面包车型大巴多少怎么样调换是未曾提到的。

</script>

  4858美高梅 8           
 浏览器报错4858美高梅 9

  4858美高梅 10 
         
 浏览器报错4858美高梅 11

 

  4858美高梅 12   
 浏览器不会报错4858美高梅 13

  4858美高梅 14 
 
 浏览器不会报错4858美高梅 15

 

 

 

 

    

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有