2019-01-25:

一:变量的声明:

1.对于变量的声明添加了let,const两种方式

关于let:

(1)不存在变量提升--必须先声明再使用;

(2)会出现暂时性死区--在一个方法外用var声明了一个变量,在方法内使用,然后在方之后(方法内)再用let声明,会出现暂时性死区;

(3)不允许重复声明--不允许在相同的作用域内重复对一个变量进行let声明;

(4)增加块级作用域(个人理解__欢迎大神指正:每一对{}内都算是一个块级),块级作用域的出现'立即执行函数'--(防止变量污染的一种函数,一般用于对库的封装,)基本就不再那么必要了;

关于const:

(1)声明一个只读的变量(实际上该命令保证的不是该变量的值不动,而是指向该变量的指针不变,区分基本类型和引用类型,基本类型指针指向的就是变量的值,引用类型如对象,数组等,是可以进行操作的,比如增删改,但是不可以进行''=''操作);

(2)在声明的时候就要赋值;

(3)和let一样存在暂时性死区的情况;

(4)Es5变量的声明方式:var function ;Es6:var let const function class import;

关于顶层对象:

(1)浏览器里面,顶层对象是window,但 Node 和 Web Worker 没有window

(2)浏览器和 Web Worker 里面,self也指向顶层对象,但是 Node 没有self

(3)Node 里面,顶层对象是global,但其他环境都不支持。

posted on 2019-01-29 09:37  磊落不羁  阅读(134)  评论(0)    收藏  举报