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

      

  • 相关阅读:
    r语言
    pickle模块
    mongodb简介
    oracle
    mysql
    ceph
    迭代器
    python类
    encode&decode
    PHP 截取字符串中某两个字符(串)之间的字符串 考虑多个的情况
  • 原文地址:https://www.cnblogs.com/lixiang1013/p/13584605.html
Copyright © 2011-2022 走看看