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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章