let关键字和var关键字

本随笔与我掘金文章同步 https://juejin.cn/post/6964263280307077128

let和const

ES6新增了let关键字,它和var关键字的区别如下:

  1. let声明的变量只在其代码块内有效;
  2. var声明的变量,在全局范围内有效;
  3. var声明的变量可以在声明前使用,而let不允许;
  4. var运行重复声明变量,而let不允许重复声明变量。

1、在代码块中使用let关键字声明一个变量a,测试在代码块外部调用变量a,会出现a is not defined异常。

{ let a = 0; console.log(a); } console.log(a);

image-20210520143807678.png

2、在代码块中使用var关键字声明一个变量a,测试在代码块外部调用变量a,它是全局范围内有效的,所以不会出现异常。

{ var a = 0; } console.log(a);

image-20210520144222151.png

3、“变量提升”现象就是在调用变量的”之前“出现的undefined异常,在调用变量的”之后“出现referenceError异常。var关键字会发生此现象,而let不允许以这种先使用变量,后声明变量的方式。

console.log(a); var a = 2; console.log(b); let b = 1;

image-20210520144843285.png

4、let关键字不允许在相同的作用域内重复声明相同的变量

{ var a = 0; let a = 1; console.log(a); } // 或是这种情况 { let a = 0; let a = 1; console.log(a); }

image-20210520145433080.png

使用var关键字重复声明变量是允许的,最后一次重复声明的变量的值会覆盖之前的值。

{ var a = 0; var a = 1; console.log(a); }

 

 

 

出处:https://www.cnblogs.com/kongsam/p/14789892.html

posted on   jack_Meng  阅读(276)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2020-05-21 Linux使用Shell在线语音播报功能
2020-05-21 Linux下的Crontab命令详解以及/etc/crontab文件和crontab -e命令的区别
2018-05-21 SVN、Git设置提交时忽略的文件

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏

主题色彩