Javascript变量 var let const

本文详细介绍了ECMAScript6中新增的变量声明关键字var、let和const的区别。var存在变量提升和函数作用域,let具有块级作用域且不允许重复声明,const则用于声明不可变的常量,同样具有块级作用域,但一旦赋值,就不能修改。了解这些关键字的用法对于编写更严谨的JavaScript代码至关重要。
摘要由CSDN通过智能技术生成

声明变量有三个关键字分别是:var,let,const

var 在ECMAScript的所有版本中都可以使用,let和const只能在ECMAScript6及以上版本使用

    var 关键字

    要定义变量可以使用var关键字

    var variable;
    //定义一个variable的变量,可以保存任何类型的值,不初始化的情况下会保存一个undefined

    var声明作用域

    使用var在一个函数内部定义一个变量,就意味着该变量在退出函数是被销毁。

    function fun()

    {

      var variable = 'hello';

    }

    fun();

var变量提升

这段代码不会报错,那是因为ECMAscript运行的时候把他们看成了等价的,这就是变量提升(hoist)

    function fun(){
      console.log(name)
      var name = 'lisi';
    }
    fun();

    let关键字

    let跟var大同小异,但是还是有很明显的区别,let声明的是块作用域,而var声明的范围是函数作用域   

    {
      var name = 'lisi'
      console.log(name)  //lisi
    }
    console.log(name) //lisi


    {
      let firstName = 'zhangsan'
      console.log(name)  //zhangsan
    }
    console.log(name)  //报错

    firstName之所以不能在外部被引用是因为仅限于该内部

    let也不允许在块作用域中重复声明

    var fristName;
    var fristName;
    let lastName;
    let lastName; //报错

   

const声明

const声明变量需要注意一下几点:

const name = "zhangsan"

name = 'lisi' //报错

const不允许重复声明

const name = 'zhangsan'

const name = 'lisi' //报错

const声明的作用域也是块

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值