区分var let const

1.var

(1)var定义的变量在之后可以修改,如果不初始化会输出undefined,不会报错,存在声明提升。

(2)var定义的变量,可以跨块访问, 不能跨函数访问。

(3)var只有函数作用域,没有块级作用域。

(4)var的作用域是函数作用域,var可以用来声明全局变量,也可以声明局部变量。在一个函数内利用var声明一个变量,则这个变量只在这个函数内有效。

  • 全局变量:在函数外定义的变量,作用域是整个代码文件。
  • 局部变量:在函数内定义的变量,作用域是当前的函数内部。

(5)可以重复定义,后面的值会覆盖前面的。

2.let

(1)let是块级作用域,函数内部使用let定义后,对函数外部无影响。

(2)不存在变量声明提前,否则会报错。

(3)let定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问。

(4)不能重复定义,否则会报错。但可以重新赋值。

3.const

(1)const定义的变量不可以修改,为常量,而且必须初始化。

(2)const与let一样,都是块级作用域,只能在块作用域里访问,存在暂时性死区,不存在变量声明提前,不允许重复定义。

(3)const 定义的变量并非常量,并非不可变,它定义了一个常量引用一个值。使用 const 定义的对象或者数组,其实是可变的。也就是可以修改,但不能直接用=号赋值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值