1.let和const 1.1.let和块级作用域 在es5中,js的作用域分为全局作用域和局部作用域,通常是用函数来区分的,函数内部属于局部作用域,在es6中新增了块级作用域的概念,使用{}括起来的区域是一个块级作用域 如果上述代码中定义变量的时候使用let,在外面使用变量a就会报错 es6中新增 ...
分类:
其他好文 时间:
2019-02-09 22:26:40
阅读次数:
219
在ES6中,新出了let和const这两个新的声明变量的命令。与之前的var相比,let和const有几个不同的特性。 var let 1.不能重复声明,且不存在变量提升 2.块级作用域 const const包含let的所有特性,区别是声明的变量不可以修改(const保证变量指向的内存不可改动,而 ...
分类:
其他好文 时间:
2019-02-09 17:47:41
阅读次数:
225
一、let命令 1、块级作用域 ES5只有全局作用域和函数作用域,没有块级作用域,因此会出现下面这样的问题: 代码块内声明的变量,代码块外一样可以访问。这种情况很多时候是不合理的。 进行10次循环,第一次全局声明变量i,之后每次更新i的值,数组arr保存着10个函数,每个函数等到运行时访问全局变量i ...
分类:
其他好文 时间:
2019-02-02 11:13:34
阅读次数:
183
一、let和const的区别: 1 const和let都产生块级作用域,只在当前声明的作用域中有效。 2 Const声明常量,let声明变量。 3 同一作用域不能用let重复声明同一个变量。 4 Let声明的变量不能进行变量提升。 5 Let声明的全局变量不再是window的属性。 6 Const声 ...
分类:
其他好文 时间:
2019-01-28 21:07:46
阅读次数:
156
let ES6块级作用域 const 本质:cosnt实际上保存的并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。 对于简单数据类型,值就保存在变量指向的内存地址中,因此等同于常量。 但是对于复杂数据类型,变量指向的内存地址保存的只是一个指针,const只能保证这个指针固定,至于它指向的 ...
分类:
其他好文 时间:
2019-01-28 20:14:14
阅读次数:
184
最近无聊看了一下前端面试题,看到不少地方要求列出var/let/const的异同,自己整理一下,算加深一下记忆。 1.作用域 var为全局作用域,而let和const为局部作用域(仅作用在大括号内),举个简单例子: 2.变量声明 var和let可以仅声明不赋值,但是const必须赋值,否则报错 3. ...
分类:
其他好文 时间:
2019-01-21 19:11:20
阅读次数:
181
es6声明变量的6中方法:var function let const import class let和const相同部分: let: 块级作用域与函数声明 const: 顶层对象: 浏览器环境:window对象 Node环境:global对象 es5中,顶层对象的属性与全局变量是等价的 es6规 ...
分类:
其他好文 时间:
2019-01-18 18:32:05
阅读次数:
195
1.变量声明let和const 我们都是知道在ES6以前,var关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部)。这就是函数变量提升例如: function aa() { if(bool) { var test = 'hello man' } else ...
分类:
其他好文 时间:
2019-01-13 00:10:16
阅读次数:
186
ES6是什么? JavaScript的第六版,在ES5的基础上增加了许多特性:箭头函数、字符串插值、代理、生成器、结构赋值、块级作用域等等。 一、let和const 1.作用:声明变量 ES6中明确规定,如果区块中存在let和const命令,则这个区块对这些命令声明的变量从一开始就形成封闭作用域。只 ...
分类:
其他好文 时间:
2019-01-11 23:16:14
阅读次数:
274
let和const是 ES6 新增的命令,用于声明变量,这两个命令跟 ES5 的var有许多不同,并且let和const也有一些细微的不同,再认真阅读了阮一峰老师的文档后,发现还是有一些不知道的细节... 博客、前端积累文档、公众号、GitHub 内容: var和let/const的区别 块级作用域 ...
分类:
其他好文 时间:
2019-01-05 16:33:23
阅读次数:
197