一.let ,var,const var没有块级作用域,定义后在当前闭包中都可以访问,如果变量名重复,就会覆盖前面定义的变量,并且也有可能被其他人更改。 结果会打印3次3,原因是var 没有块级作用域,而let有自己的块级作用域,所以不会出现这种情况。 使用 let 定义的变量在大括号的外面是访问不 ...
分类:
其他好文 时间:
2019-08-15 18:58:30
阅读次数:
102
一、变量的声明与使用 【测试示例需要在node环境中测试,浏览器环境下并不完全兼容ES6代码】ES6中可以使用 {} 来包含任意一段代码,被 {} 包裹的内容称为一个代码块(局部作用域)let关键字 【声明变量】特性:1.块级作用域 【局部作用于声明的代码块中】2.变量声明不会提升 【变量未声明前无 ...
分类:
其他好文 时间:
2019-08-13 22:57:03
阅读次数:
254
let声明 const声明 块级作用域 spread/rest 一、let声明与块作用域 在ES6之前,JavaScript中的作用域基本单元就是function。现在有了let就可以创建任意块的声明,也被称为作用域块。这意味者只需要“{}”就可以创建一个作用域。不再像var声明变量那样总归属于包含 ...
分类:
其他好文 时间:
2019-08-13 13:21:09
阅读次数:
126
写在前面:今天主要介绍两个东西:JS标识符和数据类型 一 变量和常量 在介绍标识符之前有必要先了解一下JS中的变量和常量。 变量:程序执行期间可操作的临时存储数据的内存空间。 声明方式: var:函数作用域,变量声明提前,可重复声明,后声明的覆盖前面的。 let:块级作用域,声明不会提前,不可重复声 ...
分类:
编程语言 时间:
2019-08-08 13:07:09
阅读次数:
87
es6 闭包是js的变量,它里面是没有块作用域的情况下,它的一个临时的解决方案。 一旦有了块级作用域,就不需要闭包了; js中的var 函数块(函数内) 重复声明、不能控制修改 es6中的let 块级(代码块) 不重复声明、能控制修改 解构赋值:适合从一个大的结构去取数据 例子:用在json中:js ...
分类:
其他好文 时间:
2019-08-07 22:11:04
阅读次数:
111
ES的全称是ECMAScript,它是由ECMA国际标准化组织制定的一项脚本语言的标准化规范。 let let关键字就是用来声明变量的 使用let关键字声明的变量具有块级作用域 结构 箭头函数 扩展运算符 ...
分类:
其他好文 时间:
2019-08-03 21:14:21
阅读次数:
61
一、声明 let、const 1. let 1). 作用域是块级作用域(在ES6之前,js只存在函数作用域以及全局作用域) 2). 不存在变量声明提前; 3). 不能重复定义 4). 存在暂时性死区:可以这样来理解 ① 在一个块级作用域中,变量唯一存在,一旦在块级作用域中用let声明了一个变量,那么 ...
分类:
其他好文 时间:
2019-07-24 22:51:44
阅读次数:
204
1.常量 ES5没有定义声明常量的方式,ES6标准中引入了新的关键字const来定义常量。 常量必须给初始值; 常量不能在同一作用域内重新定义或赋值; 2.块级作用域 JS中作用域有:全局作用域、函数作用域 ES6中新增了块级作用域。 块作用域由 { } 包括,if语句和for语句里面的{ }就属于 ...
分类:
其他好文 时间:
2019-07-24 00:14:44
阅读次数:
130
1、变量声明const和let es6之前,变量声明使用var关键字;无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部)。这就是函数变量提升 es6中通常使用const和let来声明变量,let表示变量、const表示常量。let和const都是块级作用域。 let的作 ...
分类:
其他好文 时间:
2019-07-11 23:19:01
阅读次数:
162
ES5&&ES6 一、let 1.块级作用域, let定义的变量只在代码块中有效 2.let声明的变量不会提前(前置)(意味着必须先定义后使用) 3.不能重复定义 ,在同一个作用域中不能声明同名的变量 4.暂时性死区(当内部变量与外部变量同名时,内部变量会屏蔽外部变量) 注:let和var的区别 1 ...
分类:
其他好文 时间:
2019-06-30 14:12:52
阅读次数:
84