前面的话 过去,javascript缺乏块级作用域,var声明时的声明提升、属性变量等行为让人困惑。ES6的新语法可以帮助我们更好地控制作用域。本文将详细介绍ES6新引入的块级作用域绑定机制、let和const声明机制及最佳实践 var声明 【变量提升】 var声明会发生”变量提升“现象,即变量可以 ...
分类:
其他好文 时间:
2017-09-01 21:23:46
阅读次数:
199
一、循环中的let声明 每次循环的时候let声明都会创建一个新变量i,并将其初始化为i的当前值,所以循环内部创建的每个函数都能得到属于他们的i的副本。 最初的: for (var i = 0 ; i < 10 ; i++) { array.push(function(){ console.log(i ...
分类:
其他好文 时间:
2017-08-25 16:50:05
阅读次数:
134
一、主要内容: 二、含义、注意事项、使用方法: 1、let 命令:用来声明一个变量,和var非常相似。 使用let声明变量的注意事项: 1)、使用let声明的变量,所声明的变量只在命令所在的代码块内有效。 { let a = 2; var b = 3; console.log(a); //2 } c ...
分类:
其他好文 时间:
2017-08-23 14:51:18
阅读次数:
121
原文地址:http://www.cnblogs.com/liuhe688/p/5845561.html let和const有很多相似之处,先说一说let吧。 1. let添加了块级作用域 我们知道,JavaScript是没有块级作用域的,如果在块内使用var声明一个变量,它在代码块外面仍旧是可见的: ...
分类:
其他好文 时间:
2017-08-18 15:19:58
阅读次数:
168
新特性 let、const let 定义的变量不会被变量提升,const 定义的常量不能被修改,let 和 const 都是块级作用域 ES6前,js 是没有块级作用域 {} 的概念的。(有函数作用域、全局作用域、eval作用域) ES6后,let 和 const 的出现,js 也有了块级作用域的概 ...
分类:
其他好文 时间:
2017-08-02 11:52:24
阅读次数:
150
LET: 基本用法:在javascript中声明一个变量通常使用var ,在es6中新增了let指令,用法类似var ,但是let声明的变量只能在所在的代码块有效。 ?? 使用let声明变量要注意一下几个点: 1,let指令不存在变量提升,所以变量一定要先声明后再使用,否则就会报错。 2, 存在暂时 ...
分类:
其他好文 时间:
2017-07-30 13:54:33
阅读次数:
95
let命令 ES6新增了let命令,用来声明变量,用法类似于var,但是所声明的变量只在let代码块中生效,并且在代码块中,使用let命令声明变量之前,变量都是不可用的,这在语法上被称为暂时性死区。 let无法存在变量提升现象,所以变量一定要在声明之后使用,否则会报错。 let无法重复声明同一个变量 ...
分类:
其他好文 时间:
2017-07-24 14:48:53
阅读次数:
137
上次分享了es6开发环境的搭建,本次接着分享es6常用的特性。 1.变量声明let和const 我们都是知道在ES6以前,var关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部)。这就是函数变量提升例如: 以上的代码实际上是: 所以不用关心bool是否为 ...
分类:
其他好文 时间:
2017-07-23 19:46:39
阅读次数:
183
let 声明了一个块级域的局部变量 const 声明一个块级域的只读的常量 let 和 const 共有的特性: 不存在变量提升 console.log(a); // undefined console.log(b); // Uncaught ReferenceError: b is not def ...
分类:
其他好文 时间:
2017-07-22 13:22:52
阅读次数:
134
首先说一下什么是es6: ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准; let 和 const 命令 let的基本用法: 上面代码在代码块之中,分别用let和var声明了两个变量。然后在代码块之外调用这两个变量,结果let声明的变量报错, var声明的 ...
分类:
其他好文 时间:
2017-07-21 23:27:17
阅读次数:
397