JavaScript中var let const區別 以及作用域引用類型

JavaScript中var let const區別 以及作用域引用類型

var let const

let 聲明變量

var 聲明變量

const 聲明常量(不會發生變化的量) ,

var

缺點:1 變量提升:變量聲明的時候提升到最初始的的位置

​ 聲明變量可以在使用之後,不符合預期

​ 2 可以重複聲明,引起歧義。

​ 3 function 其實也是聲明變量

<script>
	var a;
    var a;
    var a;
    //連續定義三個 a,系統不會報錯而將var換爲let的時候系統會出現報錯
</script>
let

let 聲明變量

​ 優點

​ 1 聲明前不能使用,保證代碼的執行順序

​ 2 在let之前又暫時性的死區,在後面

​ 3 不允許重複聲明,一旦聲明就會報錯

<script>
		//暫時性的死區
        let a//在這之前的a操作全部會報錯。
	
</script>
const

const 聲明常量(不會發生變化的量)

​ 1 注意常量名要大寫,不允許修改

​ 2一定要在聲明變量的時候設置初始值。

​ // 作用域:變量的生效範圍,有限的/

作用域:

全局作用域

​ 直接寫在最外面的的變量擁有的作用域是全局作用域

​ 任何地方可以訪問的,那就是全局變量

函數作用域

​ 在函數內部聲明的變量,他會在函數內部生效

塊級作用域

​ 變量訪問的是從內到外,內部沒有才會去外面

<script>
	 let a=3;//全局變量
        function foo(){
             let a=2;
            console.log(a);//輸出2
        }
    	console.log(a);這裏輸出的是3.
    ////////////////////////////
    
     let a=3;
        function foo(){
             a=2;//去除let後,表示是對全局變量a進行修改
            console.log(a);
        }
    console.log(a);//這裏輸出的是2
    ////////
     let a=3;
        function foo(a){
             a=2;
            console.log(a);////輸出2
        }
    console.log(a);//這裏輸出的是3
</script>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章