HTML5教程

Web前端必做笔记之一:let, var, const的区别

本文主要是介绍Web前端必做笔记之一:let, var, const的区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Web前端必做笔记之一:let, var, const的区别

<script>
        //var
        //没有块级作用域,只有函数作用域,支持变量提升
        console.log(a);   
        var a = 10; 
       
        //这样输出会报undefined
        //var声明变量时,会在上面先声明一个a但是没有赋值,这时就输出undefined

        

        //let  这也是用来声明变量的,是ES6新出来的声明变量的方式
        //它是不支持变量提升的,也是不能被重复声明的,有块级作用域,它会有临时死区(let也会提升,但是有专门的死区,拿不到数据)
        console.log(a)
        let a = 10;   
        //这样输出会报错

        {
                let a = 10;
                console.log(a);
        }
       //这样就可以输出10

       {
               let a = 10;
       }
       console.log(a); //这时输出就会报错
  </script>     
<script>
        //用var声明的变量,它就会挂在Window上
       var  a = 10;
       console.log(window.a) //10

       //而let就不一样
       let a = 10;
       console.log(window.a);  //undefined 
       
         //const 常量
        //不支持变量提升,也不支持重复声明,不能重新被声明,不能    重复被赋值,有块级作用域,也有临时死区
        const a = 10;
        const a = 20;
        //就会报错
</script>

总结

       1.var:没有块级作用域,只有函数作用域,支持变量提升
       2.let: 它是不支持变量提升的,也是不能被重复声明的,有块级作用域,它会有临时死区(let也会提升,但是有专门的死区,拿不到数据)
       3.const:不支持变量提升,也不支持重复声明,不能重新被声明,不能    重复被赋值,有块级作用域,也有临时死区
这篇关于Web前端必做笔记之一:let, var, const的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!