• ES6 let const学习


    1、let命令:用法类似于var,但是所声明的变量,只在let命令所在的代码块有效。

      例:var a = [ ];

        for(var i=0;i<10;i++){

          a[ i ] = function(){

            console.log( i );

          };

        }

        a[ 6 ]( );     // 10

        var a = [ ];

        for(let i=0;i<10;i++){

          a[ i ] = function(){

            console.log( i );

          };

        }

        a[ 6 ]( );     // 6

    这样子看来就是let是每次循环都是一个新的变量,而var 是全局变量每一次循环变量i的值都会改变;

      for循环的特殊之处就是设置循环变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域;

    let 命令不存在变量提升,我们很多时候使用var的时候是,先使用在声明,用为var存在提升变量,var,function声明的全局变量,属于顶层对象的属性,而es6 新出的4中命令(let,const,class,import)声明的全局变量,不属于顶层对象的属性。所以使用,let,const需要先声明在使用。

    暂时性死区:

    只要块级作用域内存在let命令,它所声明的变量就“绑定这个区域”,不在受外部的影响,(就是闭关锁国了谁也不例了,你进不来的)。

    不允许重复声明:let 不允许在相同的域内重复声明同一个变量

    块级作用域:

    ES6允许块级作用域的任意嵌套:{{{{{let insane="Hello World"}}}}}

  • 相关阅读:
    UVa 820 因特网带宽(最大流)
    UVa 1001 奶酪里的老鼠(Dijkstra或Floyd)
    UVa 821 网页跳跃(Floyd)
    UVa 11624 大火蔓延的迷宫
    UVa 10881 蚂蚁
    UVa 11300 分金币
    UVa 11729 突击战
    《额尔古纳河右岸》读书笔记
    HDU 1083 Courses(二分图匹配模板)
    UVa 10618 跳舞机
  • 原文地址:https://www.cnblogs.com/qrf1997/p/10563758.html
Copyright © 2020-2023  润新知