谷粒商城21- 前端基础 es6 let&const

let&const

let具有作用域的代码示例.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
    <script>
        //var 声明的变量往往会越域
        //let声明的变量有严格的作用域
        { //此处为代码块
            var a = 1;
            let b = 2;
        }
        console.log(a);    
        console.log(b);

    </script>

</body>
</html>

代码写完后, 右键

控制台打印如下, 可以看到1 成功打印, 而b说未定义, 说明了let是有严格 的作用域的.

let只能声明一次示例
此 代码能正常运行, var可以声明多次, 以最后一次为准

 //var可以声明同一变量多次
        //let 只能声明一次
        var m =1 ;
        var m =2 ;

        let n=3 ;
        console.log(m);
        console.log(n);


如下的代码

  let n=3 ;
        let n=2 ;
        console.log(m);
        console.log(n);

报错如下, n已经被定义. 说明let定义的变量, 只能声明一次.

变量提升

  //var 会变量提升
        //let 不存在变量提升
        console.log(x);
        var x =10;

        console.log(y);
        let y = 20 ;

运行结果如下.

关于js的变量提升, 可以看看下面这篇文章
https://blog.csdn.net/qq_39712029/article/details/80951958
变量提升 就是声明到一个变量所在作用域的顶端去执行, 但只是声明,未赋值


const 声明变量后 ,不允许改变. 并且一旦声明后,必须初始化, 否则报错.

  //const 声明变量后 ,不允许改变. 并且一旦声明后,必须初始化, 否则报错. 

        const a = 1;
        a = 3 ;

报错如下,

如下的代码也报错, 未初始化.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值