javascript----var,let,const之间的区别

    xiaoxiao2022-07-13  154

    const必须初始化,而且不能更改var仅在function是局部变量,其余都为全局变量();let一直充当局部变量,即便是在IF中,外界也不能访问 function a (){ var x = 10 console.log(x) } a() console.log(x) //这里为空

     

    函数变量提升,提升也就是把定义的放在一段代码的最开头

    var 的声明,存在变量提升。let  的声明,不存在变量提升。const  的声明,不存在变量提升。

    for循环中,var定义相当于在for这一片区是全局的,所以值是最后一个;let是每个独立分开的,所以值不同

    var a = []; for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); }; } a[2](); var b = []; for (let k = 0; k < 10; k++) { b[k] = function () { console.log(k); }; } b[2](); 原因: i是var声明的,在全局范围内都有效,console.log(i),里面的i指向的就是全局的i,所以最后输出的是10。。 k是let声明的,只在本轮循环局部有效,console.log(k),每一次for循环的k都为新变量,所以最后输出的是2。

    var可以重复申明,let不可以 

     

     

    最新回复(0)