ES6使用let命令更简单的实现块级作用域实例分析
2017-03-31 08:48
651 查看
本文实例讲述了ES6使用let命令更简单的实现块级作用域。分享给大家供大家参考,具体如下:
let 带来了更简单的块级作用域
1. ES6新增了let命令,用于声明变量。其与var的不同在于,用let声明的变量只在 { } 内有效。这使得我们可以很方便的实现块级作用域,不再使用立即实行函数。
{ let a=1; var b=2; } console.log(a); //undefined console.log(b); //2
在for循环中使用let可以有效避免全局变量污染。
2. let不会变量提升。也就是说,如果你使用var ,可以先使用变量再定义变量(注意:变量提升只提升声明不提升赋值操作),但是如果你使用let定义变量则必须先定义后使用,否则会报错。
console.log(a);//报错:Uncaught ReferenceError: a is not defined console.log(b); //undefined let a=1; var b=2;
3. 暂时性死区(Temporal Dead Zone)
只要块级作用域内有let,let 声明的变量不受全局同名变量的影响,如果想要在块级作用域内使用let 声明的变量,只能为其赋值。
var a=1; if(true){ a=2; let a; //Uncaught ReferenceError: a is not defined }
4. 不允许在一个块级作用域内重复声明一个变量
不管是var与let重复声明,还是let与let重复声明,都会报错。
希望本文所述对大家ECMAScript程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- ld命令和u-boot中的lds文件实例和简单实例分析
- 使用WCF实现SOA面向服务编程——简单的WCF开发实例
- sed命令简单使用-实现行的两两互换
- perror实现分析(1.0: 使用实例)
- 如何使用androidpn实现android手机消息推送(简单的源码分析)
- 热门话题:使用WCF实现SOA面向服务编程(二)——实现简单的WCF开发实例
- 使用命令模式实现简单的支持撤销的计算器
- 如何使用androidpn实现android手机消息推送(简单的源码分析)
- AOP FOR PHP 使用 runkit 实现 可行性 简单分析
- Java中读写锁的实现及使用读写锁简单实现缓存系统的实例
- gcc编程环境基础4--ld命令和u-boot中的lds文件实例和简单实例分析
- ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
- gcc编程环境基础4--ld命令和u-boot中的lds文件实例和简单实例分析
- 使用Ruby简单实现的tail命令,支持动态输出
- 一起谈.NET技术,使用WCF实现SOA面向服务编程——简单的WCF开发实例
- linux窗口程序设计 Qt4精彩实例分析 pyqt实现 实例2 标准对话框的使用
- java中读写锁的实现及使用读写锁简单实现缓存系统的实例
- 使用线性布局实现简单登陆界面的实例
- 使用pipe实现一个简单的类似tee命令的功能
- 如何使用androidpn实现android手机消息推送(简单的源码分析)