var let const 的區別


1、var【聲明變量】

  var 沒有塊的概念,可以跨塊訪問,無法跨函數訪問;

2、let【聲明塊中的變量】

  let 只能在塊作用域里訪問,不能跨塊訪問,也不能跨函數訪問;

3、const【聲明常量、一旦賦值不可更改】

  const 只能在塊作用域里訪問,而且不能修改值

 

    <script>
        console.log('1、var定義的變量可以修改,如果不初始化會輸出undefined,不會報錯');
        var a = 1;
        // var a;//不會報錯
        console.log('函數外var定義a:' + a); //可以輸出a=1

        function change() {
            a = 4;
            console.log('函數內var定義a:' + a); //可以輸出a=4
        }
        change();
        console.log('函數調用后var定義a為函數內部修改值:' + a); //可以輸出a=4  
            
        console.log('----------------------------------');
        console.log('2、let是塊級作用域,函數內部使用let定義后,對函數外部無影響');
        let c = 3;
        console.log('函數外let定義c:' + c); //輸出c=3
        function change() {
            let c = 6;
            console.log('函數內let定義c:' + c); //輸出c=6
        }
        change();
        console.log('函數調用后let定義c不受函數內部定義影響:' + c); //輸出c=3

        console.log('----------------------------------');
        console.log('3、const定義的變量不可以修改,而且必須初始化');
        const b = 2; //正確
        // const b;//錯誤,必須初始化 
        console.log('函數外const定義b:' + b); //有輸出值
        b = 5;
        console.log('函數外修改const定義b:' + b); //無法輸出
    </script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM