es6中let和var的区别有哪些

本篇内容介绍了“es6中let和var的区别有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联建站主要从事成都网站设计、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务盐城,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

区别:1、let定义的变量,作用域是在定义它的块级代码以及其中包括的子块中,而var定义的变量,作用域是包括它的函数作用域或者全局作用域;2、let定义的变量,在同一个作用域内不能重复声明,而var定义的变量,在同一作用域内可以重复声明。

本教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。

es6中let和var的区别

let是在ES6中新引入的关键字,用来改进var带来的各种问题。

let和var相比,大致有下面几个方面的不同:

作用域

  • 通过let定义的变量,作用域是在定义它的块级代码以及其中包括的子块中,并且无法在全局作用域添加变量。

  • 通过var定义的变量,作用域为包括它的函数作用域或者全局作用域。

重复声明

  • 通过let定义的变量,在同一个作用域内,不可以重复声明。

  • 通过var定义的变量,在同一个作用域内,重复声明,在生成执行上下文的时候,会无视后面的声明。

临时死区引起的提升等问题

我们知道在代码执行之前,会先扫描所有域内的var声明的变量,将其先进行初始化为undefined,然后再执行代码,也就是所谓的“提升”现象。

但对于let声明的变量而言,则有所不同。在代码执行之前的扫描,同样也会对let变量进行“提升”,但并没有将其置为undefined。let定义的变量虽然经历了提升,但在没有执行到初始化它的代码前,该变量并没有被初始化,如果此时访问的话,会被置为ReferenceError错误。从代码块开始到执行到let变量初始化完毕这段时间,let变量已经被声明,但不可访问。这段时间被成为临时死区。

“es6中let和var的区别有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!

网站题目:es6中let和var的区别有哪些
本文地址:https://www.cdcxhl.com/article42/pihjhc.html

成都网站建设公司_创新互联,为您提供外贸网站建设企业建站品牌网站建设网站设计网站排名

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设