Javascript变量声明var和let的区别

作用域:

全局作用域

局部作用域(函数作用域)

块作用域

区别:1、var有变量提升,而let没有;2、let不允许在相同的作用域下重复声明,而var允许;3、let没有暂时性死区问题;4、let创建的全局变量没有给window设置对应的属性;5、let会产生块级作用域,var不会。

let 存在块作用域 var 没有

   {
        var a = 10;
        let b = 100;
        console.log("内部" + a)
        console.log("内部" + b)
    }

    console.log("外部" + a)
    console.log("外部" + b);//报错

let声明不存在变量提升

console.log(a);
    var a = 10;
    let a = 100;//报错 先声明再使用

let 存在暂时性死区

   var a = 100;
    {
        a = 10;//全局
        console.log(a)
        let a = 100;
    }

let 不能在同一个作用域内部重复声明

{
    let a = 100;
    console.log(a);
    let a = 10;
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值