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中新增的定义函数的方式

() => {}

最新文章

  1. Webform Application传值 ViewState
  2. TI公司Tina-ti和FilterProDesktop下载地址
  3. kafka_2.9.2-0.8.1.1分布式集群搭建代码开发实例
  4. C# 操作数据库就的那点代码
  5. $stop and $finish in verilog
  6. the private key for is not installed on this mac
  7. ASP.NET中验证控件的使用
  8. JAVA向文件中追加内容(转)
  9. js显示时间
  10. Javascript标准类型的方法集
  11. React——from
  12. Linux 系统裁剪笔记 软盘2
  13. Flow简易教程——安装篇
  14. 在 Mac OS X 下,如何向 sudoers 文件添加新用户
  15. Android 自定义ListView 修改数据
  16. Problem B: 类的初体验(II)
  17. url传参错误的痛
  18. ASPNETPager常用属性(近来用到分页属性)
  19. 【经典数据结构】Trie
  20. 判断 Selite中标存在或者字段存在的方法

热门文章

  1. Chosen by god【组合数打表】
  2. 从零开始的Spring Boot(5、Spring Boot整合Thymeleaf)
  3. 在android项目中使用FontAwesome字体
  4. 大众点评cat实时监控简介及部署
  5. 研华advantech-凌华ADLINK板卡运动控制卡
  6. c++_primer_第4版目录
  7. linux环境下安装git(采用github下载git源码编译)
  8. git提交时报错:Updates were rejected because the tip of your current branch is behind
  9. 【原创】Linux中断子系统(四)-Workqueue
  10. Docker编写镜像 发布个人网站