JS中的let和var的区别
ES6 新增了let
命令,用来声明局部变量。它的用法类似于var
,但是所声明的变量,只在let
命令所在的代码块内有效,而且有暂时性死区的约束。
在ES6之前,我们都是用var来声明变量,而且JS只有函数作用域和全局作用域,没有块级作用域,所以{}
限定不了var声明变量的访问范围。ES6新增的let
,可以声明块级作用域的变量。
let
非常适合用于 for
循环内部的块级作用域。JS中的for循环体比较特殊,每次执行都是一个全新的独立的块作用域,用let声明的变量传入到 for循环体的作用域后,不会发生改变,不受外界的影响。
用let
声明的变量,不存在变量提升。而且要求必须 等let
声明语句执行完之后,变量才能使用,不然会报Uncaught ReferenceError
错误。
let不允许在相同作用域内,重复声明同一个变量。否则报错:Uncaught SyntaxError: Identifier 'XXX' has already been declared
JS中的let和var的区别相关推荐
- html offsetwidth 字符串宽度,基于js中style.width与offsetWidth的区别(详解)
作为一个初学者,经常会遇到在获取某一元素的宽度(高度.top值...)时,到底是用 style.width还是offsetWidth的疑惑. 1. 当样式写在行内的时候,如 时,用 style.wid ...
- js中定义变量加var和不加var的区别
这个问题其实我在面试的时候有被问到过,当时我记得我回答的很模糊,面试官看到我好像不太清楚,又问我是不是可以不加var定义变量... 正好昨天做项目的时候想到这个问题,觉得这种细节上的问题才是拉开差距的 ...
- js中的target与currentTarget的区别转
关于js中target与currentTarget的区别的关键在于他们所处在的事件流的阶段是不一样的,target处于事件流的目标阶段,currentTarget处理事件流的捕获.处于目标阶段和冒泡阶 ...
- js中构造函数与普通函数的区别
构造函数不仅只出现在JavaScript中,它同样存在于很多主流的程序语言里,比如c++.Java.PHP等等.与这些主流程序语言一样,构造函数在js中的作业一样,也是用来创建对象时初始化对象,并且总 ...
- js中关于length与size的区别
length与size的区别 用了很长时间的length的一直没考虑过其与size的区别,今天同事问起,特意查找资料,将两者的相同点与共同点列出来. 相同点:在jQuery中用于返回元素的个数,siz ...
- php中的foreach和js中的foreach的用法和区别
PHP中的foreach循环: 主要用于遍历数组 例如: (1)// $colors=array("red","yellow","blue" ...
- js中(function(){}()),(function(){})(),$(function(){});之间的区别
1. (function(){}())与(function(){})() 这两种写法,都是一种立即执行函数的写法,即IIFE (Immediately Invoked Function Express ...
- node.js中exports与module.exports的区别分析
前言 关于Node.js中的exports和module.exports,很多时候都比较容易让人混淆,弄不清楚两者间的区别.那么我们就从头开始理清这两者之间的关系. 来源 在开发Node.js应用的时 ...
- js中的let和var
在ES6中,应该尽量使用const和let来声明变量,而尽量避免使用var. var的缺点是它的作用域比较混乱,使用let能够保证清晰的作用域. 下面看一个小例子. var x = 3; if(x== ...
最新文章
- python生成器函数_【python】生成器和生成器函数
- Spring Cloud【Finchley】实战-06使用/actuator/bus-refresh端点手动刷新配置 + 使用Spring Cloud Bus自动更新配置
- 架构设计 | 基于消息中间件,图解柔性事务一致性
- (单元测试)JavaBeans的技巧
- matlab写字,Matlab实现鼠标写字代码
- Vijos P1784 数字统计【进制】
- 拓端tecdat|时间序列建模三部曲
- 中级软件设计师JAVA
- 关于网站版权声明(Copyright)的格式和写法
- 多重共线性的产生原因、判别、检验、解决方法
- 银行会计记账方法的种类
- 周测作业五(apache的安装与配置)
- DenseNet阅读心得体会
- Redis的基本使用
- 黄金思维圈,看透问题本质的利器,成功者必备工具
- Qt 实现 HMAC_SHA1 哈希算法
- 矢量数据shp七个文件介绍_读取矢量数据
- 计算机英语感想1500,求助:求新概念计算机英语英文读书报告1500字,谢~
- 软件测试培训出来真的很难找到工作嘛?
- pandas 读CSV时间转换问题的终极解决
热门文章
- Lucene-Analyzer
- 浅谈图片蒙版效果-webkit-mask
- 【Transact-SQL】SQL Server自动把left join自动转化为inner join、以及关联时的数据重复问题...
- C#线程从陌生到熟悉(4)
- 【转载】闲话操作系统(二)
- python详细下载安装教程-Python下载并安装图形教程[超级详细]
- 单独学python能干嘛-学 Python 都用来干嘛的?
- python四大软件-传智播客解析Python之移动端页面适配四大方式
- python与c语言在语法上的区别-C语言和Python编程先学习哪个
- python怎么安装第三方库-vs2017怎么安装python第三方包