• 1-ES6之let和const用法


    一:let用法三个特性

    1)声明变量,没有变量提升(没有声明之前不能使用)

    2)是一个块作用域

    3)不能重复声明

    <script>
        //1. let申明变量,没有变量提升
        //Uncaught ReferenceError: a is not defined
        console.log(a)
        //let a=10;
        //2. 是一个块作用域
        if (1===1){
            let b=10;
        }
        //1.html:15 Uncaught ReferenceError: b is not defined
        //console.log(b)
        //3.不能重复声明
        let a=10;
        let a=20;
        //Uncaught SyntaxError: Identifier 'a' has already been declared
        console.log(a)
    </script>
    

     二:const用法

       1)声明常量,一但被声明,不能修改

      2)声明,没有变量提升(没有声明之前不能使用)

      3)是一个块作用域

      4)不能重复声明 

      5)onst声明常量是个对象,不能直接修改变量,但是可以修改常量里面属性
    <script>
        //1. const声明常量后,不能被修改,而且声明前完成初始化
        const  PI =3.14
        console.log(PI)
    
        //2 const常量使用前必须先声明
        //Uncaught ReferenceError: a is not defined
        //console.log(a)
    
        //3. const块作用域
        if (1===1){
            const P2="1111";
        }
        //Uncaught SyntaxError: Unexpected identifier
        //console.log(P2)
    
        //4. const声明常量,不能重复声明
        const P3="1111";
        //const P3="1111";
        //Uncaught SyntaxError: Identifier 'P3' has already been declared
        console.log(P3)
    
        //5 const声明常量是个对象,不能直接修改变量,但是可以修改常量里面属性
        const person ={
            name:"1111"
        }
        person.name=222
        //{name: 222}
        console.log(person)
        //Uncaught SyntaxError: Identifier 'person' has already been declared
        const person ={
            age:"3333"
        }
    </script>
    

      三:使用场景

        //1.使用场景:for 循环例子
    
        var arr = []
        for (var i =0;i<10;i++){
            arr[i] =function(){
                return i;
            }
        }
    
        console.log(arr[5]());
        //结果10 var有提升变量作用,最后i变成10了
        var arr = [];
        var i;
        for (i =0;i<10;i++){
            arr[i] =function(){
                return i;
            }
        }
        console.log(arr[5]());
    
        var arr = [];
    
        for (let i =0;i<10;i++){
            arr[i] =function(){
                return i;
            }
        }
        ////结果5
        console.log(arr[5]());
    
        //作用2:不全污染全局变量
        let RegExp =10;
        console.log(RegExp);
        console.log(window.RegExp);
    

      

  • 相关阅读:
    @Autowired 注解是如何实现的?
    工作 3 年的同事不懂 isEmpty 和 isBlank 的区别,我真是醉了。。
    4 个单词,谷歌返回 16 个 SQL 注入漏洞...
    MySQL 更新不成功,事务问题搞清楚了吗?
    Python Web应用如何部署?
    mapbox加载postgis矢量切片
    tile2lon:地图瓦片编号与经纬度的换算关系
    shp2pgsql:将shapefile导入postgis数据库
    postgreSQL表添加ID自增列
    postgreSQL连接配置
  • 原文地址:https://www.cnblogs.com/lixiang1013/p/13584605.html
Copyright © 2020-2023  润新知