这两个命令是ES6的新语法知识。这两个新的特性解决了ES6中的一些小的“bug”问题。其中包含一些知识:块级作用域、let命令、const命令、全局对象的属性。Google V8引擎已经部署了ES6的部分特性。当然,使用Traceur转码器、Bebal转码器可以将ES6方式编写的程序转为ES5. 块 ...
分类:
其他好文 时间:
2018-02-16 23:35:07
阅读次数:
407
1. let、const 和 block 作用域 let 允许创建块级作用域,ES6 推荐在函数中使用 let 定义变量,而非 var: 同样在块级作用域有效的另一个变量声明方式是 const,它可以声明一个常量。ES6 中,const 声明的常量类似于指针,它指向某个引用,也就是说这个「常量」并非 ...
分类:
其他好文 时间:
2018-02-08 17:52:33
阅读次数:
177
一、关于变量 ES5 1.只有全局作用域变量和函数作用域变量 2.“变量提升”(当程序进入一个新的函数时,会将该函数中所有的变量的声明放在函数开始的位置。仅仅会提升变量的声明,不会提升变量的赋值) ES6新增:块级作用域变量 1、let定义块级作用域变量 1、没有变量的提升,必须先声明后使用 2、l ...
分类:
其他好文 时间:
2018-02-08 00:20:59
阅读次数:
188
下载地址:网盘下载 目录 · · · · · · 第1章 块级作用域绑定 1var声明及变量提升(Hoisting)机制 1块级声明 3-- let声明 3-- 禁止重声明 4-- const声明 4-- 临时死区(Temporal Dead Zone) 6循环中的块作用域绑定 7-- 循环中的函数 ...
分类:
其他好文 时间:
2018-02-05 21:43:12
阅读次数:
1907
关于ES6 块级作用域 任何一对花括号({})中的语句集都属于一个块,在块中声明的变量在代码块外都是不可访问的,称之为块级作用域,ES5以前没有块级作用域 let let 是ES6新增的声明变量的一种方法,与 var 最明显的区别是 不存在变量提升 产生新的作用域(块级作用域) 在一个作用域中 不允 ...
分类:
其他好文 时间:
2018-02-05 17:05:19
阅读次数:
189
JavaScript从来不会告诉你是否多次声明了同一个变量;遇到这种情况,它只会对后续的声明视而不 见(不过,它会执行后续声明中的变量初始化)。 匿名函数可以用来模仿块级作用域并避免这个问题。 用作块级作用域(通常称为私有作用域)的匿名函数的语法如下所示。 以上代码定义并立即调用了一个匿名函数。 将 ...
分类:
Web程序 时间:
2018-02-04 15:34:30
阅读次数:
173
ES6 新增了let命令,用来声明变量,但是所声明的变量,只在let命令所在的代码块内有效。代码块是{ }所包围的部分,即块级作用域 let有以下几个特性 不存在变量提升,即在声明之前使用此变量会报错 let不允许在相同作用域内,重复声明同一个变量。 const const声明一个只读的常量(具备l ...
分类:
其他好文 时间:
2018-01-27 17:02:21
阅读次数:
184
一、常量 不允许重复定义 二 let使用 普通变量(var 定义的): 这叫做变量提升:先使用变量,然后在定义变量 相当于 let定义的(Es6新增) 不存在变量提升 let是一个块级作用域的变量: 结果:200,100 var 定义的话 结果:200,200 结果:20 三,js基本数据类型 结果 ...
分类:
其他好文 时间:
2018-01-26 22:46:48
阅读次数:
178
一、变量提升 在ES6之前,JavaScript没有块级作用域(一对花括号{}即为一个块级作用域),只有全局作用域和函数作用域。变量提升即将变量声明提升到它所在作用域的最开始的部分。上个简单的例子如: console.log(a); // undefined var a= 'hello'; cons ...
分类:
Web程序 时间:
2018-01-26 17:08:29
阅读次数:
169
作用域 1、js中没有块级作用域 2、如果有块级作用域,那么下面代码将会是undefined undefined 词法作用域 1、就是在代码写好的那一刻,变量的作用域就已经确定了,这种作用域,就是所谓的词法作用域 2、和词法作用域相对的叫动态作用域 ,js中是词法作用域不是动态作用域 3、在JS中唯 ...
分类:
Web程序 时间:
2018-01-24 14:06:59
阅读次数:
266