1. 变量/赋值 var 可以重复定义、不能限制修改、没有块级作用域 let 不能重复定义, 变量,块级作用域 const 不能重复定义, 常量,块级作用域 结构赋值 数组解构赋值 对象解构赋值 2. 函数 箭头函数 注意 箭头函数有几个使用注意点。 (1)函数体内的this对象,就是定义时所在的对 ...
分类:
其他好文 时间:
2018-10-14 00:29:24
阅读次数:
215
ES6简介 1. EMCAScript(ECMA、ES)标准 2. JavaScript是EMCAScript的一种 ES6新语法 1.变量、赋值 var 可以重复定义、不能限制修改、没有块级作用域 var 需要封装进function let 不能重复定义、变量、块级作用域{} const 不能重复 ...
分类:
其他好文 时间:
2018-10-09 23:59:33
阅读次数:
510
函数能不能在块级作用域之中声明?这是一个相当令人混淆的问题。 ES5 规定,函数只能在顶层作用域和函数作用域之中声明,不能在块级作用域声明。 上面两种函数声明,根据 ES5 的规定都是非法的。 但是,浏览器没有遵守这个规定,为了兼容以前的旧代码,还是支持在块级作用域之中声明函数,因此上面两种情况实际 ...
分类:
其他好文 时间:
2018-10-06 16:40:25
阅读次数:
145
function outputNumbers(count) { for (var i=0; i<count; i++) { console.log(i); } var i; // 重新声明变量 console.log(i); // 计数 } 上述中,重复声明了i变量,但是JS从来不会告诉你是否多次声 ...
分类:
Web程序 时间:
2018-10-02 17:29:08
阅读次数:
187
### 变量相关的letconst 1. 都不可以重复声明2. 都有块级作用域 const必须在声明的时候赋值const声明的变量不能被修改值 ### 对象相关的1. 对象的简写```jsvar name = "王XX"; var obj = { name: name}// 简写如下var obj ...
分类:
其他好文 时间:
2018-09-30 12:58:50
阅读次数:
312
一、前言 在ECMAScript6(以下简称ES6)之前,ECMAScript的作用域只有两种: 1、 全局作用域; 2、 函数作用域。 正是因为有这两种作用域,所以在JavaScript中出现一术语--“变量提升(hoisting)”。 如下: 在node环境执行上述代码,结果为: 之所以为’un ...
分类:
其他好文 时间:
2018-09-28 19:08:31
阅读次数:
134
块级作用域 (1)let 取代 var ES6 提出了两个新的声明变量的命令:let和const。其中,let完全可以取代var,因为两者语义相同,而且let没有副作用。 上面代码如果用var替代let,实际上就声明了两个全局变量,这显然不是本意。变量应该只在其声明的代码块内有效,var命令做不到这 ...
分类:
其他好文 时间:
2018-09-22 14:50:33
阅读次数:
186
关于js中不存在块级作用域的特性与闭包特性同时发挥作用的情形。 ...
分类:
Web程序 时间:
2018-09-21 15:20:24
阅读次数:
265
const声明一个只读的常量。一旦声明,常量的值就不能改变。且const一旦声明变量,就必须立即初始化,不能留到以后赋值。 const的作用域与let命令相同:只在声明所在的块级作用域内有效。 const命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用。也与let一样不可重复声 ...
分类:
其他好文 时间:
2018-09-21 00:34:14
阅读次数:
232
var的作用就不多说了,下面说说var的缺点: 1.var可以重复声明 在像这些这些严谨的语言来说,一般是不允许重复声明的。 2.无法限制修改 3.没有块级作用域 以上几个就是我个人对var的看法 ES6中,多了两个声明let 和 const let和const的共同点 : 不能重复声明,都是块级作 ...
分类:
其他好文 时间:
2018-09-12 23:03:21
阅读次数:
225