浅谈var、let和const的区别

序号区别varletconst
1变量提声
2局部变量函数内是函数内是、代码块内是函数内是、代码块内是
3声明变量后修改变量值可以可以基础类型不可以,对象可以通过点方法或者[]来添加属性或者值
4定义全局变量后绑定到windows上可以不可以不可以

测试用例:

1
变量提声就是提前声明,再赋值

      console.log(a)
      console.log(b)
      console.log(c)
      var a = 1;
      let b = 2;
      const c = 3;
      // undefined
      // Uncaught ReferenceError: Cannot access 'b' before initialization
      // Uncaught ReferenceError: Cannot access 'c' before initialization

2-
直接给变量赋值是全局变量

      var test = function () {
        var testVar = 1;
        let testlet = 2;
        const testconst = 3;
        oo = 9;
      };
      test();
      console.log(testVar);
      console.log(testlet);
      console.log(testconst);
      console.log(oo);
      // Uncaught ReferenceError: testVar is not defined
      // Uncaught ReferenceError: testlet is not defined
      // Uncaught ReferenceError: testconst is not defined
      // 9

      if(true){
        var testVar = 1;
        let testlet = 2;
        const testconst = 3;
        oo = 9;
      }
      console.log(testVar);
      console.log(testlet);
      console.log(testconst);
      console.log(oo);
      // 1
      //  Uncaught ReferenceError: testlet is not defined
      //  Uncaught ReferenceError: testconst is not defined
      // 9

3
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4
在这里插入图片描述
5
全局变量可以直接赋值,这样的变量也可以绑定在windows上面
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值