文档章节

ES6的let和const命令(一)

博为峰教研组
 博为峰教研组
发布于 2017/05/04 20:11
字数 314
阅读 8
收藏 0

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是不存在的,这时如果用到它,就会抛出一个错误。

 

© 著作权归作者所有

下一篇: ES6的const命令
博为峰教研组
粉丝 50
博文 1224
码字总数 479077
作品 0
黄浦
程序员
私信 提问
ECMAScript 6 let和const命令

自从nodejs升级到4.0后,已经开始支持ECMAScript 6了。。。 刚开始看阮一峰的ES6 入门教程,发现变量声明多了两个属性,let和const。相对于原来单一的var,变得越来越像java了,引入了块级作用...

mosaic101
2015/12/09
48
0
ES6、ES7、ES8特性-学习提炼总结(一)

ES6 ECMAScript 6.0,简称ES6是JavaScript语言的下一代标准,在2015年6月发布。目的是让JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 Babel转码器 Babel是一个广泛使...

永远保留内心的简单和单纯
2018/11/22
0
0
ECMAScript6入门 学习之简介

1.什么是ECMAScript 6? ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业...

w-rain
2016/06/12
711
0
let和const命令

let命令 基本用法 ES6新增了命令,用来声明变量。它的用法类似于,但是所声明的变量,只在命令所在的代码块内有效。 { let a = 10; var b = 1;}a // ReferenceError: a is not defined.b // ...

易帝加盟热火了
2015/12/25
41
0
ES6 let和const详解

前言 本人这是第一次写文章,记录一下平常在学习中的一些收获和感言,这些笔记如果存在错误的地方发情告知改正,不胜感激,本人文采不行,轻喷,谢谢。 1. let命令 作用域 ES6 新增了let命令...

九当家丶
2018/12/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 程序员做噩梦

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @-冰冰棒- :#今日歌曲推荐# 手嶌葵《Kiss The Girl》 《Kiss The Girl》- 手嶌葵 手机党少年们想听歌,请使劲儿戳(这里) @Sharon啊 :今天...

小小编辑
28分钟前
62
4
Another app is currently holding the yum lock; waiting for it to exit...

Another app is currently holding the yum lock; waiting for it to exit... The other application is: PackageKit Memory : 153 M RSS (266 MB VSZ) Started: Thu Jul 12 00:03......

圣洁之子
36分钟前
0
0
FastDateFormat 研究

FastDateFormat 对缓存的利用,其实就是用ConcurrentHashMap 做了一个map类型的缓存 public F getInstance(final String pattern, TimeZone timeZone, Locale locale) { Validate......

暗中观察
今天
3
0
Android双向绑定原理简述

Android双向绑定原理简述 双向绑定涉及两个部分,即将业务状态的变化传递给UI,以及将用户输入信息传递给业务模型。 首先我们来看业务状态是如何传递给UI的。开启dataBinding后,编译器为布局...

tommwq
今天
4
0
Spring系列教程八: Spring实现事务的两种方式

一、 Spring事务概念: 事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什么都没发生过一样。...

我叫小糖主
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部