前端知识---js 中三种声明变量 let ,const ,var之间的区别

在js 中有三种声明变量的方式分别为 var,const ,let 虽然他们都可以用于声明变量,但是他们之前却有着本质的不同

1. var相对于let与const

var 声明的是全局变量,全局变量就意味着,会挂载到window对象上面去,而let和const声明的变量去不会出现这样的情况。

var a=33;
   console.log(a,window.a); 
   let b=22;
   console.log(b,window.b)
   const c=11;
   console.log(c,window.c)

打印结果为:
在这里插入图片描述
var声明的变量还可以向声明在赋值,如果声明后没有赋值就打印 则会打印出undefined, 而let 变量和const 变量 声明后未进行赋值 打印则会直接报错。

console.log('var变量:'+a);  //打印undefine
  var a=33;
  console.log('let变量'+b)  //报错
  let b=22;
  console.log('const变量'+c)  //报错
  const c=11;

打印结果未:
在这里插入图片描述
作用域上面 var是全局的 let和const则是块级作用域的

if (1){
        var a=33;
        let b=22;
        const c=11;
        console.log('代码块内 var'+a)
        console.log('代码块内 let'+b)
        console.log('代码块内 const'+c)
    }
    console.log('代码块外 var'+a)
    console.log('代码块外 let'+b) // 报错
    console.log('代码块外 const'+c) //报错

打印结果为:
在这里插入图片描述
在同一作用域下var可以声明同名变量,而let和const则不能

        var a=33;
        console.log(a)
        var a=3;
        console.log(a) 
        // 正常打印 33 3
        let b=22;
        console.log(b)
        let b=2;
        console.log(b)
        // 直接报错
        const c=11;
        console.log(c)
        const c=1;
        console.log(c)
        //直接报错

const声明的变量 必须赋值 且赋值后也不能更改

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值