ES6新增了let取代var,let主要有以下特点。

1 只在代码块内有效,代码块外不能使用let声明的变量。let很适合声明循环体的变量。

它可以解决一些闭包的问题存在的问题比如:

var a = [];
for (var i = 0; i < 10; i++) {
a[i] = function () {
console.log(i);
};
}
a[6](); // 10
var a = [];
for (let i = 0; i < 10; i++) {
a[i] = function () {
console.log(i);
};
}
a[6](); // 6

2 不存在变量提升 。

3 暂时性死区

从进入某个块级作用域开始到用let声明一个变量这个区间内属于该变量的暂时性死区,也叫TDZ。

const与let类似有以下特点

只在代码块内有效,const声明的变量不能提升,存在TDN

const声明一个只读的常量。一旦声明,常量的值就不能改变。倒是可以为它添加属性,const一旦声明变量,就必须立即初始化。它本质上就是一个指针指向一块内存,你能改变它指向的内存中的数据,但是不能改变它的指向。

6种声明变量的方法  let  const  import  class   var   function   其中前四种是ES6新增的。

let const 声明的全局变量不属于window属性

最新文章

  1. 认识实验室信息管理系统(LIMS)
  2. 【bzoj1050】 旅行comf
  3. JS操作DOM
  4. Android 网格布局 计算器
  5. XAMPP Apache 配置多端口和多域名方法
  6. 定时同步时间与crontab
  7. [BigData]关于Hadoop学习笔记第二天(PPT总结)(一)
  8. spoj 62
  9. 函数-头文件//Calculator.h
  10. selenium page object model
  11. ONE WIRE
  12. 最新城市二级联动json(2017-09)
  13. 【Android 系统开发】下载 编译 Android源代码 和 Android kernel源代码
  14. C#new出来的结构体内存分配在堆上
  15. 《Nginx - 变量》- log_format/核心变量
  16. FolderSync :The various features and how to use them
  17. win2008R2 bitnami 安装 wamp
  18. Ubuntu 安装 PhpMyAdmin 图文教程
  19. Spring.NET学习笔记——目录(原)
  20. poj 2007 Scrambled Polygon

热门文章

  1. 不能忽视 php warning
  2. 阿里云服务器配置https(port443)后客户端 svn check out 失效解决办法
  3. c#解决浏览器跨域问题
  4. OverFeat学习
  5. jQuery-委托事件和on方法注册事件
  6. Scyther 论文相关资料整理
  7. Kafka消费者组再均衡问题
  8. Android Studio升级到3.4遇到的问题总结
  9. lsblk
  10. 部署ceph