zoukankan      html  css  js  c++  java
  • 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);
    

      

  • 相关阅读:
    hdu1238 Substrings
    CCF试题:高速公路(Targin)
    hdu 1269 迷宫城堡(Targin算法)
    hdu 1253 胜利大逃亡
    NYOJ 55 懒省事的小明
    HDU 1024 Max Sum Plus Plus
    HDU 1087 Super Jumping! Jumping! Jumping!
    HDU 1257 最少拦截系统
    HDU 1069 Monkey and Banana
    HDU 1104 Remainder
  • 原文地址:https://www.cnblogs.com/lixiang1013/p/13584605.html
Copyright © 2011-2022 走看看