专栏首页smh的技术文章var和let声明变量时的一些区别

var和let声明变量时的一些区别

var和let声明变量时的一些区别

1.如果在全局作用域中用var声明变量,此变量会默认成为window的一个属性,let声明的变量则不会添加到window对象中。

2.在es6之前,是没有块级作用域,所谓块级作用域,就是用{}包含的区域,我们常用的有for,while,if等。但是在块级作用域中用let声明变量,那么此变量就有了块级作用域,就必须只有在此块级作用域才能访问此变量。

3.var声明的变量有变量提升特性,let声明则没有这个特性。变量提升:请点击:javascript中的变量提升的简单说明

4.var可以允许重复声明相同的变量,后者会覆盖前者,let则不能重复声明相同的变量。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • javascript中变量提升以及处理方法

    今天我们来说说js中变量提升,for循环作用域在使用过程中遇到的一些问题,并解决。

    小明爱学习
  • javascript中的变量提升的简单说明

    两个输出都是undefined。为什么呢?这就要从js中变量的提升和函数作用域来说起了。

    小明爱学习
  • canvas绘制图形时beginPath应用

    当我们在使用canvas绘制图形的时候,不免都会使用到beginPath这个方法。今天我们就来讲解一下这个函数的重要性以及应用。

    小明爱学习
  • 【ES基础】let和作用域

    ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会)以JavaScript为基础制定的一种脚本语言标准。目前,该标准基本上每年发布一次新的ES...

    前端达人
  • 作用域

    几乎所有编程语言最基本的功能之一,就是能够存储变量当中的值,并且能在之后对这个值进行访问或修改。那么变量存储在哪里,程序需要时怎么去找到它们?一套设计良好的规则...

    Karl Du
  • 前端基础-JavaScript作用域与JS代码的运行

    变量的作用域是在定义时决定而不是执行时决定的,也就是说词法作用域取决于编译阶段,通过静态分析就能确定,因此词法作用域也叫做静态作用域。

    cwl_java
  • ECMAScript 6 笔记(一)

           1996年11月,JavaScript的创造者Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这种语言能够成为国...

    超然
  • 《TypeScript 中文入门教程》 2、变量声明

    let和const是JavaScript里相对较新的变量声明方式。 像我们之前提到过的, let在很多方面与var是相似的,但是可以帮助大家避免在JavaScr...

    无邪Z
  • 漫话ES6: var let 和 const 命令

    var声明的变量作用域为整个函数体(当按声明一的方式声明变量时);当var变量声明在函数外,该var变量的作用域为**整个js文件周期**(全局作用域)

    舒克
  • 快速学习-Scala变量

    变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。

    cwl_java

扫码关注云+社区

领取腾讯云代金券