ES6的功能简介
1. let, const, var
let: 块级作用域, 不存在变量提升, 值可更改
const:块级作用域, 不能存在变量提升, 值不可更改
var: 函数级作用域, 变量提升, 值可更改
案例1:
var arr = [];
for (var i = 0; i < 2; i++){
arr[i] = function(){
console.log(i);
}
}
arr[0]();
arr[1]();
答:arr[0](): 2, arr[1]():2
解析: 由于var是函数级作用域,当i = 2时,离开循环, 而 i 存在于类作用域中,因此两者都为2
案例2
let arr = [];
for (let i = 0; i < 2; i++){
arr[i] = function(){
console.log(i);
}
}
arr[0]();
arr[1]();
答:arr[0](): 0, arr[1]():1
解析: 由于 let 时块级作用域, 而 arr[0]() 中的 i 与 arr[1]() 中的 i 存在于两个不同的块级作用域中, 因此分别为 0, 1
2. 解构赋值
ES6中允许从数组中提取值,按照对应位置,对变量赋值,对象也可以实现解构
例:
let [a, b, c] = [1, 2, 3]
console.log(a) = 1
如果解构不成功,变量的值为undefined
let [a, b] = [1]
b = undefined
3. 对象结构
案例:
let person = { name : 'a', age: 22 };
let { name, age } = person
console.log( name ) = 'a'
console.log( age ) = 22
案例2:
let { name : MyName, age : MyAge} = person
console.log( MyName ) = 'a'
console.log( MyAge ) = 22
解析:name 先从 person 里查找 name 属性, 匹配完成后赋值给 MyName,随后输出到控制台
箭头函数
ES6中新增的定义函数的方式
() => {}
最新文章
- Webform Application传值 ViewState
- TI公司Tina-ti和FilterProDesktop下载地址
- kafka_2.9.2-0.8.1.1分布式集群搭建代码开发实例
- C# 操作数据库就的那点代码
- $stop and $finish in verilog
- the private key for is not installed on this mac
- ASP.NET中验证控件的使用
- JAVA向文件中追加内容(转)
- js显示时间
- Javascript标准类型的方法集
- React——from
- Linux 系统裁剪笔记 软盘2
- Flow简易教程——安装篇
- 在 Mac OS X 下,如何向 sudoers 文件添加新用户
- Android 自定义ListView 修改数据
- Problem B: 类的初体验(II)
- url传参错误的痛
- ASPNETPager常用属性(近来用到分页属性)
- 【经典数据结构】Trie
- 判断 Selite中标存在或者字段存在的方法
热门文章
- Chosen by god【组合数打表】
- 从零开始的Spring Boot(5、Spring Boot整合Thymeleaf)
- 在android项目中使用FontAwesome字体
- 大众点评cat实时监控简介及部署
- 研华advantech-凌华ADLINK板卡运动控制卡
- c++_primer_第4版目录
- linux环境下安装git(采用github下载git源码编译)
- git提交时报错:Updates were rejected because the tip of your current branch is behind
- 【原创】Linux中断子系统(四)-Workqueue
- Docker编写镜像 发布个人网站