let和const命令

let和const命令

<script>
    /*
    * ES6的塊級作用域必須要有{}
    * let命令 用來聲明變量  只在let命令所在的代碼塊內有效
    * 不存變量提升現象
    * 存在暫時性死區,只能在聲明的位置後面使用
    * */
    {
        let a=10;
        var b=19;
    }
    //console.log(a);//a is not defined.
    console.log(b);
    {
        /*for(let i=0;i<10;i++){
            console.log(i);//只在for循環體內有效
        }*/
        //console.log(i);//i is not defined
        for(var i=0;i<10;i++){
            console.log(i);
        }
        console.log(i);//10
    }
    {
        var a=[];
        /*for(var i=0;i<10;i++){
            a[i]=function(){
                console.log(i);//10
            };
        }
        console.log(a[6]());//undefined*/
        for(let i=0;i<10;i++){
            a[i]=function(){
                console.log(i);//6
            };
        }
        a[6]();
    }
    {
        //for循環還有一個特別之處,就是設置循環變量的那部分是一個父作用域,而循環體內部是一個單獨的子作用域。

        for (let i = 0; i < 3; i++) {
            let i = 'abc';
            console.log(i);//3次abc
        }
    }
    //let不允許在相同域內,重複同一變量
    {
        //報錯
        /*function fun(){
            let a=10;
            var a=1;
        }
        //報錯
        function funa(){
            let a=11;
            let a=1;
        }*/
    }
    /*
    * const命令聲明的是一個只讀常量 一旦聲明值不能改變
    *作用域和let命令一樣  只聲明不賦值會報錯
    * 存在暫時性死區,只能在聲明的位置後面使用
    * 不可重複聲明
    * */
    {
       /* const a=10;
        let a=1;
        //報錯
        console.log(a);*/
    }
    /*
    * es6聲明變量6種方法:var function let const import  class
    * */
</script>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章