ES6入门之 let

原创 xinghui 随笔 JavaScript 234阅读 2017-12-17 19:49:20 举报
看《ECMAScript 6 入门》 顺便记一下笔记

let:

1> 使用let声明的变量只在块级作用域内生效[/color]

javascript 代码

使用var声明的i是全局变量,每一次循环i的值都会增加,而alert(i)中的i指向全局变量里的i,所有函数里的i的值都是最后一次i的取值。所以arr1[5]()的值为10

使用let声明的i只在块级作用域内生效([color=#595959]在任何一对({ 和 })都属于一个块),每一轮循环时 i 都会重新声明,利用JavaScript引擎记住的上一轮i的值,对 i 进行初始化,所以arr2[2]的值为5

2>var 存在变量提升 let不存在变量提升
3>块级作用域使用let声明的变量,不受外部的影响

javascript 代码

此时test会报错,在代码块内使用了let声明了test并且let不支持变量提升

4>let不允许在相同的作用域内重复声明同一个变量
评论 ( 5 )
最新评论
lawrence 4F 2017-12-20 13:53:15 5F

我想借你脑袋用用,头大,你帮我思考下

xinghui 2F 2017-12-18 09:48:09 4F

一起学习哈

xinghui 1F 2017-12-18 09:47:28 3F

我就是个前端小菜鸟

lawrence 2017-12-17 23:53:57 2F

js要看的东西真多啊

aztt 2017-12-17 20:53:44 1F

你写的代码真是太好了