ES6的let和const命令(一)
2024-10-09 00:45:45
ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变
量,只在let命令所在的代码块内有效。
let a=3;
let声明的变量只在它所在的代码块有效。
for循环的计数器,很适合使用let命令
var arr=[1,2,3,4,5];
for (let i=0;i<arr.length;i++){}
console.log(i);
运行结果:
程序报错。上面代码的计数器i是由let声明的,只在for循环体内有效。
如果i是由var声明的
var arr=[1,2,3,4,5];
for (var i=0;i<arr.length;i++){}
console.log(i);
最后输出的结果是:5
let声明变量的特性有以下几点:
1.不提升变量
先来看一组变量的声明
console.log(a);
console.log(b);
var a=2;
let b=2;
同样的2个未定义就使用的变量,但结果取不一样
因为变量a用var命令声明,会发生变量提升,即脚本开始运行时,变量a已经存在了,但是没有值,所以会输出undefined。变量b用let命令声明,不会发生变量提升。这表示在声明它之前,变量b是不存在的,这时如果用到它,就会抛出一个错误。
转载于:https://my.oschina.net/u/2971691/blog/892535
最新文章
- 今天不谈技术,说说一些常用的软件~By 逆天
- Linux(RHEL6.0)下安装GCC
- 我的第一个hadoop程序
- JS数组操作示意图(shift,unshift,pop,push)
- 手机端web学习基础--from慕课网
- 【python】继承时注意事项
- routeProvider
- Tomcat修改网址旁边的小图标
- 硬盘结构介绍--mbr及分区
- visual studio 2015提示IE10未安装
- MyEclipse修改servlet模版
- mysql 初识之日志文件篇
- html中的a标签的target属性的四个值的区别?
- LeetCode-391. 完美矩形(使用C语言编译,详解)
- 一个蒟蒻对FFT的理解(蒟蒻也能看懂的FFT)
- Python中Json对象处理的jsonpath-rw
- “浅入浅出”函数防抖(debounce)与节流(throttle)
- ECS分区挂载数据盘
- mysql5.5 报Can&#39;t open and lock privilege tables: Table &#39;mysql.host&#39; doesn&#39;t exist
- rownum与row_number() OVER (PARTITION BY COL1 ORDER BY COL2)