• 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);
    

      

  • 相关阅读:
    ACM Dance Recital(dfs+剪枝)
    矩阵快速幂
    分页实现复选框的选中状态
    MemCached 和redis的区别
    调用存储过程传值
    实现js中的时间格式中的T
    实现下载完成
    模态框实现功能后刷新父类页面
    JSON.parse()、JSON.stringify()和eval()的作用
    全选反选珍藏班版
  • 原文地址:https://www.cnblogs.com/lixiang1013/p/13584605.html
Copyright © 2020-2023  润新知