ECMAScript 6 入门学习笔记(一)——let和const
一、let
①声明变量 let a = 1;
②只在所在代码块内有效,不影响块以外
③不存在变量提升(不能先用后声明)
④暂时性死区
let声明的变量“绑定”这个区域,不受外部影响。
let声明之前,都是这个变量的‘死区’
注:typeof在死区是ReferenceError,没声明是“undefined”
⑤不能重复声明同一个变量
二、块级作用域
① 允许块级作用域的任意嵌套,外层作用域无法读取内层作用域的变量,内层作用域可以定义外层作用域的同名变量
// IIFE 写法
(function () {
var tmp = ...;
...
}()); // 块级作用域写法
{
let tmp = ...;
...
}
②允许在块级作用域之中声明函数(不建议使用,浏览器环境不同,差异大)
③do表达式(得到块级作用域的返回值)
let x = do {
    let t = f();
    t * t + 1;
};
三、const
①声明一个只读的常量。一旦声明,常量的值就不能改变。
②不能只声明不赋值
③只在声明所在的块级作用域内有效
④存在暂时性死区,只能在声明的位置后面使用
⑤不可重复声明
⑥本质:const实际上是保证变量指向的内存地址不得改动,不是变量值不能改(对象和数组)
⑦es6六种声明变量方法:var,function,let,const,import,class
四、顶层对象的属性
①顶层对象:浏览器 --> window对象 Node --> global对象
  ②var命令和function命令声明的全局变量,属于顶层对象的属性;
         let命令、const命令、class命令声明的全局变量,不属于顶层对象的属性
五、global对象
①顶层对象不一定总能取到,system.global让global作为顶层对象,让它在各种环境下都存在。
ECMAScript 6 入门学习笔记(一)——let和const的更多相关文章
- ECMAScript 6 入门学习笔记(零)——开始
		所有es6笔记都是我自己提出来的一些点,没有很详细的例子什么的,这个链接就是我看的教程,有需要的可以看看.(http://es6.ruanyifeng.com/#docs/intro) 1.ECMAS ... 
- ECMAScript 6 入门学习笔记(持续更新)
		1.let命令(作用同var) ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. { let a = 10; var b = 1; } ... 
- ECMAScript 6 入门学习笔记(二)——变量的解构赋值
		一.数组的解构赋值 let [foo, [[bar], baz]] = [1, [[2], 3]]; ①可多不可少,等号的右边是数组 let [x, y] = [1, 2, 3]; //可以 let ... 
- Hadoop入门学习笔记---part4
		紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ... 
- Hadoop入门学习笔记---part3
		2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ... 
- PyQt4入门学习笔记(三)
		# PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ... 
- PyQt4入门学习笔记(一)
		PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ... 
- Hadoop入门学习笔记---part2
		在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ... 
- Hadoop入门学习笔记---part1
		随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ... 
随机推荐
- [Usaco2018 Open]Disruption
			Description Farmer John自豪于他所经营的交通发达的的农场.这个农场是由N块牧场(2≤N≤50,000)组成的,N-1条双向道路将它们连接起来,每一条道路的都为一单位长度.Farm ... 
- Quartz.Net学习笔记(1)-完整的例子
			一.开发环境 系统:Win10 编译器:VS2013 .Net版本:4.5 Quartz版本:2.3.3 二.涉及程序集 Common.Logging.Core.dll Common.Logging. ... 
- leetcode516 Longest Palindromic Subsequence
			思路: 区间dp. 实现: class Solution { public: int longestPalindromeSubseq(string s) { int n = s.length(); ] ... 
- rem布局进入页面样式错乱解决
			开发项目时候第一次遇到rem布局进入页面瞬间样式错乱问题: //该段js为rem布局应用 如10px = 0.1rem; (function(doc, win) { var docEl = doc.d ... 
- HDU_3496_(二维费用背包)
			Watch The Movie Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)T ... 
- find命令查找和替换
			find命令查找和替换 语法: find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g' #查找替换当前目录下包含字符串并进行替换 ... 
- manacher(马拉车)算法
			断断续续地看了两天的马拉车算法,可算是给搞明白了(贼开心),这算是自己搞懂的第一个算法了(23333333333333)这个算法照目前自己的理解来看,貌似就只能求个字符串中的回文串(接触这个算法是要求 ... 
- Python学习笔记(2)数值类型
			进制转换 int函数任意进制转换为10进制 第一个参数传入一个字符串,任意进制的,第二个参数传入对这个字符串的解释,解释他为几进制 hex oct bin转换进制为16 8 或者2进制 例题中石油87 ... 
- Go:变量、常量、枚举
			一.变量 package main import "fmt" func variableZeroValue() { // 变量声明 var a int var b string f ... 
- pxc增量备份
			###增备数据库,如果后续还需要再次增备,则可以再次指定--extra-lsndir,如果与上次备份指定相同的位置,该文件被覆盖# innobackupex --compress --incremen ... 
