var,let,const的区别

let和const是ES6中新增的方法

推荐使用let和const,防止重复声明造成代码块的污染,这三个声明方法中只有var拥有变量提升,并且可以重复声明。但是重复声明的变量,后面的变量会覆盖前面的变量。

      var a=6
      var a=666
      console.log(a);//666

var 具有变量提升

函数外部使用var声明的变量是全局变量,可以在全局中使用

var a=666
    console.log(a);//666

    function fn(){
        console.log(a);//666
    }
    fn()

函数内部如果不使用var来声明的变量也是全局变量

function fn(){
         a=9
    }
    fn()
     console.log(a);//9

在函数内声明的变量是局部变量,只能在这个函数内使用

 function fn(){
        var a=9
    }
    fn()
     console.log(a);//a is not defined

    function fn(){
        var a=9
        console.log(a);//9
    }
    fn()

let

let则不能重复声明变量,如果同时声明两个相同名字的变量,则会报错。

let具有块级作用域,没有变量提升,并且不能重复声明。

const 

而const是用来定义常量的,定义的常量则是不能修改的。

const a =6
    a=8
    console.log(a);
    //Assignment to constant variable.
    //对常量变量的赋值。

但是var和let可以定义完变量之后进行修改进行修改

    var a=9
    a=1
    console.log(a);//9

    let a=9
    a=5
    console.log(a);//5

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值