阅读 183

let关键字和var关键字

let关键字和var关键字

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);}

image-20210520145603495.png


__EOF__

本文作者kongsam
本文链接:https://www.cnblogs.com/kongsam/p/14789892.html

服务器评测 http://www.cncsto.com/ 

服务器测评 http://www.cncsto.com/ 


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐